|  | <!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::PartitionedHashJoinNode 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 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 List</span></a></li> | 
|  | <li><a href="classes.html"><span>Class Index</span></a></li> | 
|  | <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> | 
|  | <li><a href="functions.html"><span>Class 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_1PartitionedHashJoinNode.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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </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="#nested-classes">Classes</a> | | 
|  | <a href="#pub-methods">Public Member Functions</a> | | 
|  | <a href="#pub-static-methods">Static Public Member Functions</a> | | 
|  | <a href="#pub-static-attribs">Static Public Attributes</a> | | 
|  | <a href="#pro-methods">Protected Member Functions</a> | | 
|  | <a href="#pro-static-methods">Static Protected Member Functions</a> | | 
|  | <a href="#pro-attribs">Protected Attributes</a> | | 
|  | <a href="#pri-types">Private Types</a> | | 
|  | <a href="#pri-methods">Private Member Functions</a> | | 
|  | <a href="#pri-attribs">Private Attributes</a> | | 
|  | <a href="#pri-static-attribs">Static Private Attributes</a> | | 
|  | <a href="classimpala_1_1PartitionedHashJoinNode-members.html">List of all members</a>  </div> | 
|  | <div class="headertitle"> | 
|  | <div class="title">impala::PartitionedHashJoinNode Class Reference</div>  </div> | 
|  | </div><!--header--> | 
|  | <div class="contents"> | 
|  |  | 
|  | <p><code>#include <<a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>></code></p> | 
|  | <div class="dynheader"> | 
|  | Inheritance diagram for impala::PartitionedHashJoinNode:</div> | 
|  | <div class="dyncontent"> | 
|  | <div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1PartitionedHashJoinNode__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::PartitionedHashJoinNode:</div> | 
|  | <div class="dyncontent"> | 
|  | <div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1PartitionedHashJoinNode__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="nested-classes"></a> | 
|  | Classes</h2></td></tr> | 
|  | <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a></td></tr> | 
|  | <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | </table><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:ae3e61456e8643133f873a11f7b0a513f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ae3e61456e8643133f873a11f7b0a513f">PartitionedHashJoinNode</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlanNode &tnode, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &descs)</td></tr> | 
|  | <tr class="separator:ae3e61456e8643133f873a11f7b0a513f"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a5ebb23f2487cea6f4726c39d05057a8e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a5ebb23f2487cea6f4726c39d05057a8e">Init</a> (const TPlanNode &tnode)</td></tr> | 
|  | <tr class="separator:a5ebb23f2487cea6f4726c39d05057a8e"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a9082f61fb211521b18752a148d2e5d73"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a9082f61fb211521b18752a148d2e5d73">Prepare</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> | 
|  | <tr class="separator:a9082f61fb211521b18752a148d2e5d73"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a06b5e353f58aece9a8f5661ebd92897b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a06b5e353f58aece9a8f5661ebd92897b">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)</td></tr> | 
|  | <tr class="memdesc:a06b5e353f58aece9a8f5661ebd92897b"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a8b5679fb9c03b667cb3c90512a24faab">Open()</a> implemented in <a class="el" href="classimpala_1_1BlockingJoinNode.html">BlockingJoinNode</a>.  <a href="#a06b5e353f58aece9a8f5661ebd92897b">More...</a><br/></td></tr> | 
|  | <tr class="separator:a06b5e353f58aece9a8f5661ebd92897b"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a012279e5ada40ecf525931496ba39590"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a012279e5ada40ecf525931496ba39590">Reset</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> | 
|  | <tr class="separator:a012279e5ada40ecf525931496ba39590"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aec578db442601bcba3835a3a52698d8d"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aec578db442601bcba3835a3a52698d8d">Close</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> | 
|  | <tr class="separator:aec578db442601bcba3835a3a52698d8d"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a8b5679fb9c03b667cb3c90512a24faab"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </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"> </td></tr> | 
|  | <tr class="memitem:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="memItemLeft" align="right" valign="top">std::string </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"> </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"> </td></tr> | 
|  | <tr class="memitem:a79a78df488ddcb12e0150b919efc059a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a79a78df488ddcb12e0150b919efc059a">CollectNodes</a> (TPlanNodeType::type node_type, std::vector< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > *nodes)</td></tr> | 
|  | <tr class="separator:a79a78df488ddcb12e0150b919efc059a"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aeaf6b6a9dff1fd661e63258272c62b96"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aeaf6b6a9dff1fd661e63258272c62b96">CollectScanNodes</a> (std::vector< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > *nodes)</td></tr> | 
|  | <tr class="memdesc:aeaf6b6a9dff1fd661e63258272c62b96"><td class="mdescLeft"> </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"> </td></tr> | 
|  | <tr class="memitem:ad21c25a63f7a11127082710941d23654"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > & </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"> </td></tr> | 
|  | <tr class="memitem:a2088a36bc4bb4e0c3c7c1444198b76dd"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> | 
|  | <tr class="memitem:aef75c686c9c11e8fcb9b21cfa74c442d"><td class="memItemLeft" align="right" valign="top">TPlanNodeType::type </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"> </td></tr> | 
|  | <tr class="memitem:a467297b1704ae33db61ae61d3400c35f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> & </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"> </td></tr> | 
|  | <tr class="memitem:a3f3a896c7e58304582acd34f662b4c72"><td class="memItemLeft" align="right" valign="top">int64_t </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"> </td></tr> | 
|  | <tr class="memitem:a8083cea2b4b6646c80d8d87a0522074b"><td class="memItemLeft" align="right" valign="top">int64_t </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"> </td></tr> | 
|  | <tr class="memitem:a3ff26374466bc587eaa4c7d00b3e126a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </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"> </td></tr> | 
|  | <tr class="memitem:ad062f28c78add1a869fffdab9419b09d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> * </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"> </td></tr> | 
|  | <tr class="memitem:abd7922a579e4adc353756849a0f45b48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> * </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"> </td></tr> | 
|  | <tr class="memitem:abe940aa2d7da783c4e8c65f0af22ad8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> * </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"> </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> </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 &plan, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **root)</td></tr> | 
|  | <tr class="separator:aad99835d1957684b656d5f2d4427b5eb"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a39054faeb49a0adeeabb256106f456af"><td class="memItemLeft" align="right" valign="top">static void </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"> </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"> </td></tr> | 
|  | <tr class="memitem:a48ec693b9eb748682b58479751812f08"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classbool.html">bool</a> </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"> </td></tr> | 
|  | <tr class="memitem:a64bf8cb31a57b9d6dc3f5cd60066a686"><td class="memItemLeft" align="right" valign="top">static llvm::Function * </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< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > &<a class="el" href="classimpala_1_1ExecNode.html#ad21c25a63f7a11127082710941d23654">conjunct_ctxs</a>, const char *<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name</a>="EvalConjuncts")</td></tr> | 
|  | <tr class="separator:a64bf8cb31a57b9d6dc3f5cd60066a686"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a3e2d144b60f904f6b1f3219b9471aad3"><td class="memItemLeft" align="right" valign="top">static int </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"> </td><td class="mdescRight">Extract node id from p-><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"> </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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a017212785c5784e56363422c18fa11d4">LLVM_CLASS_NAME</a> = "class.impala::BlockingJoinNode"</td></tr> | 
|  | <tr class="separator:a017212785c5784e56363422c18fa11d4"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a514778516fb852eed80c2e98bf08fac2"><td class="memItemLeft" align="right" valign="top">static const std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a514778516fb852eed80c2e98bf08fac2">ROW_THROUGHPUT_COUNTER</a> = "RowsReturnedRate"</td></tr> | 
|  | <tr class="memdesc:a514778516fb852eed80c2e98bf08fac2"><td class="mdescLeft"> </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"> </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:a5f3d77b8ecfc7499f3df9a857c3fa918"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a5f3d77b8ecfc7499f3df9a857c3fa918">AddToDebugString</a> (int indentation_level, std::stringstream *out) const </td></tr> | 
|  | <tr class="separator:a5f3d77b8ecfc7499f3df9a857c3fa918"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a77f33b07249f4a9038108632348d3bce"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a77f33b07249f4a9038108632348d3bce">InitGetNext</a> (<a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *first_probe_row)</td></tr> | 
|  | <tr class="separator:a77f33b07249f4a9038108632348d3bce"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a51ee0388c45a326abca64b5da2e223fb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a51ee0388c45a326abca64b5da2e223fb">ConstructBuildSide</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> | 
|  | <tr class="separator:a51ee0388c45a326abca64b5da2e223fb"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ac8de59dcb8911596a8dcab7eed11b346"><td class="memItemLeft" align="right" valign="top">virtual void </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"> </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"> </td></tr> | 
|  | <tr class="memitem:a4e170b3fdc3487364270d4c9db23db2c"><td class="memItemLeft" align="right" valign="top">std::string </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"> </td></tr> | 
|  | <tr class="memitem:a9c75eba8abec44f42095f21f5e90b9ce"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> | 
|  | <tr class="memitem:a1fb77c5926ec8ad015f153aabb190237"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * </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"> </td></tr> | 
|  | <tr class="memitem:a467751b7182365c83e867dc3d50b43e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </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"> </td></tr> | 
|  | <tr class="memitem:aa4941adc86040c00d0fe1b52bb1c0221"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classbool.html">bool</a> </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"> </td></tr> | 
|  | <tr class="memitem:adf07b8ec102e4bc7cc3707157c8f0e99"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#adf07b8ec102e4bc7cc3707157c8f0e99">InitRuntimeProfile</a> (const std::string &<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name</a>)</td></tr> | 
|  | <tr class="separator:adf07b8ec102e4bc7cc3707157c8f0e99"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a310d3a6b28f5bb1046a90ef8995ffb12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </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"> </td></tr> | 
|  | <tr class="memitem:a05e056b5d11b187a1d31723c7d1592eb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a05e056b5d11b187a1d31723c7d1592eb">AddRuntimeExecOption</a> (const std::string &option)</td></tr> | 
|  | <tr class="memdesc:a05e056b5d11b187a1d31723c7d1592eb"><td class="mdescLeft"> </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"> </td></tr> | 
|  | <tr class="memitem:ab8f2832c6a5487aa8168b2a7d65773ee"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </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"> </td></tr> | 
|  | <tr class="memitem:a4ad378d275c91637f12ca7fa742d59db"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> | 
|  | <tr class="memitem:a19340582202dd61e0b028c28efa5490a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a19340582202dd61e0b028c28efa5490a">AddExprCtxsToFree</a> (const std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > &ctxs)</td></tr> | 
|  | <tr class="separator:a19340582202dd61e0b028c28efa5490a"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:afa7de6fd3a4f1580884680c35b9b8804"><td class="memItemLeft" align="right" valign="top">void </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> &sort_exec_exprs)</td></tr> | 
|  | <tr class="separator:afa7de6fd3a4f1580884680c35b9b8804"><td class="memSeparator" colspan="2"> </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> </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 &tnode, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **node)</td></tr> | 
|  | <tr class="memdesc:af055b7d9d3de849cbde01b12c608ee38"><td class="mdescLeft"> </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"> </td></tr> | 
|  | <tr class="memitem:a3d97c1b8247ed300dd82db66f38e7b00"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a> </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< TPlanNode > &tnodes, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &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"> </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 </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"> </td></tr> | 
|  | <tr class="memitem:ad744c2cb396ed68c438d46395d612df6"><td class="memItemLeft" align="right" valign="top">TJoinOp::type </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"> </td></tr> | 
|  | <tr class="memitem:a5e815e2ed755fc790f34a83769bf6461"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </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"> </td></tr> | 
|  | <tr class="memitem:a6d1a0e3a68490dbae73c03660a77c6cf"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1MemPool.html">MemPool</a> > </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"> </td></tr> | 
|  | <tr class="memitem:aeabc74d9da08ed93250d0f75446cf04c"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> > </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"> </td></tr> | 
|  | <tr class="memitem:a0fe32f863b33a065dd9a3bc4f3637d23"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </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"> </td></tr> | 
|  | <tr class="memitem:a21024309ba8920fdceb9857987e6a57b"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> | 
|  | <tr class="memitem:a04915018145d23f213cee07c29b04d14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </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"> </td></tr> | 
|  | <tr class="memitem:a2eedd711f6d355162bf2cbfbaac9b98b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </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"> </td></tr> | 
|  | <tr class="memitem:a085b4bc35b4a643e2447a7fa147aacb0"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> | 
|  | <tr class="memitem:a66ccfeffb647bf47ef207db6eead4be1"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> | 
|  | <tr class="memitem:ac8b67078e6b7fce5155c9747f596c616"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </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"> </td></tr> | 
|  | <tr class="memitem:a93c5f051338e0caeaba575d270ed6c08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </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"> </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> * </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"> </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> * </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"> </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> * </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"> </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> * </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"> </td></tr> | 
|  | <tr class="memitem:a2d543ec055a04199286b52d23a82280f"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> | 
|  | <tr class="memitem:ab86051ba57221a009063eda6e2aefd76"><td class="memItemLeft" align="right" valign="top">TPlanNodeType::type </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"> </td></tr> | 
|  | <tr class="memitem:ac55aaa21c7750fd5f8774aee1ac5211a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> * </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"> </td></tr> | 
|  | <tr class="memitem:a302f24417303ae6eb522e50a15f9ca2c"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > </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"> </td></tr> | 
|  | <tr class="memitem:ab5b4aff8e7b124468f2b61ca63b87ab5"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > </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"> </td></tr> | 
|  | <tr class="memitem:a900a9e0a75e9839f9c6d4658518944b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> </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"> </td></tr> | 
|  | <tr class="memitem:a76c55d45e1b55f82b83614898240adaf"><td class="memItemLeft" align="right" valign="top">TExecNodePhase::type </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"> </td></tr> | 
|  | <tr class="memitem:a08cd2dfda956999b3995caafe76190fd"><td class="memItemLeft" align="right" valign="top">TDebugAction::type </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"> </td></tr> | 
|  | <tr class="memitem:ae41f912c39b004f60987b4d480e442b8"><td class="memItemLeft" align="right" valign="top">int64_t </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"> </td></tr> | 
|  | <tr class="memitem:a9789aeca3e98cda63998a8f47d355fd9"><td class="memItemLeft" align="right" valign="top">int64_t </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"> </td></tr> | 
|  | <tr class="memitem:a9cab4e45a94527ff97333c0f280036f8"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> > </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"> </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> * </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"> </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> * </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"> </td></tr> | 
|  | <tr class="memitem:aba2362d7d1816b4f90f3e1f6768accd1"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> > </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"> </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"> </td></tr> | 
|  | <tr class="memitem:a8574c9973af1609b90cef86ccc331141"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> > </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"> </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"> </td></tr> | 
|  | <tr class="memitem:aa536e5c953d915df988c5bcbf24db9f4"><td class="memItemLeft" align="right" valign="top">boost::mutex </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"> </td></tr> | 
|  | <tr class="memitem:a6e72d8a73cfdc5ab09f6bafcca6f8411"><td class="memItemLeft" align="right" valign="top">std::string </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"> </td></tr> | 
|  | </table><table class="memberdecls"> | 
|  | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a> | 
|  | Private Types</h2></td></tr> | 
|  | <tr class="memitem:a8993add310b9a1b373faffa44cc678c2"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2">State</a> { <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2a48dd0206c5f048a3b21432fa87d9c45a">PARTITIONING_BUILD</a>, | 
|  | <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2a00993f51396cbc803ff26216b27c9cfd">PROCESSING_PROBE</a>, | 
|  | <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2a4974e2ef796308150c4f56f4a93129f2">PROBING_SPILLED_PARTITION</a>, | 
|  | <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2a6b2b53542202410c2cc40dbc2278c074">REPARTITIONING</a> | 
|  | }</td></tr> | 
|  | <tr class="separator:a8993add310b9a1b373faffa44cc678c2"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a1fcd810ba3479724f54f44ab90685e0f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classimpala_1_1Status.html">Status</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a1fcd810ba3479724f54f44ab90685e0f">ProcessBuildBatchFn</a> )(<a class="el" href="classimpala_1_1PartitionedHashJoinNode.html">PartitionedHashJoinNode</a> *, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *)</td></tr> | 
|  | <tr class="memdesc:a1fcd810ba3479724f54f44ab90685e0f"><td class="mdescLeft"> </td><td class="mdescRight">llvm function and signature for codegening build batch.  <a href="#a1fcd810ba3479724f54f44ab90685e0f">More...</a><br/></td></tr> | 
|  | <tr class="separator:a1fcd810ba3479724f54f44ab90685e0f"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a8012dd18666a73620a5fd8b8a8bbc948"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8012dd18666a73620a5fd8b8a8bbc948">ProcessProbeBatchFn</a> )(<a class="el" href="classimpala_1_1PartitionedHashJoinNode.html">PartitionedHashJoinNode</a> *, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *, <a class="el" href="classimpala_1_1HashTableCtx.html">HashTableCtx</a> *)</td></tr> | 
|  | <tr class="memdesc:a8012dd18666a73620a5fd8b8a8bbc948"><td class="mdescLeft"> </td><td class="mdescRight">llvm function and signature for codegening probe batch.  <a href="#a8012dd18666a73620a5fd8b8a8bbc948">More...</a><br/></td></tr> | 
|  | <tr class="separator:a8012dd18666a73620a5fd8b8a8bbc948"><td class="memSeparator" colspan="2"> </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:a79bacb1e208fe2d1826bad6543d86521"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a79bacb1e208fe2d1826bad6543d86521">AppendRow</a> (<a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> *stream, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr> | 
|  | <tr class="separator:a79bacb1e208fe2d1826bad6543d86521"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aa52389687d2e11438d7d272534865eca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aa52389687d2e11438d7d272534865eca">AppendRowStreamFull</a> (<a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> *stream, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr> | 
|  | <tr class="separator:aa52389687d2e11438d7d272534865eca"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a36a6a36b8115ccfd2120fdd34a564b89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a36a6a36b8115ccfd2120fdd34a564b89">SpillPartition</a> (<a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a> **spilled_partition)</td></tr> | 
|  | <tr class="separator:a36a6a36b8115ccfd2120fdd34a564b89"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ac9a87aac238af001d553174a25c3a8e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ac9a87aac238af001d553174a25c3a8e7">ProcessBuildInput</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, int level)</td></tr> | 
|  | <tr class="separator:ac9a87aac238af001d553174a25c3a8e7"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a889b8c6e67529ff8642a69ce57f8376a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a889b8c6e67529ff8642a69ce57f8376a">ProcessBuildBatch</a> (<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *build_batch)</td></tr> | 
|  | <tr class="memdesc:a889b8c6e67529ff8642a69ce57f8376a"><td class="mdescLeft"> </td><td class="mdescRight">Reads the rows in build_batch and partitions them in hash_partitions_.  <a href="#a889b8c6e67529ff8642a69ce57f8376a">More...</a><br/></td></tr> | 
|  | <tr class="separator:a889b8c6e67529ff8642a69ce57f8376a"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a70014bc32552806c0db94e1762759f48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a70014bc32552806c0db94e1762759f48">BuildHashTables</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> | 
|  | <tr class="separator:a70014bc32552806c0db94e1762759f48"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a943252886c8074606ff75f36a28cdeba"><td class="memTemplParams" colspan="2">template<int const JoinOp> </td></tr> | 
|  | <tr class="memitem:a943252886c8074606ff75f36a28cdeba"><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a943252886c8074606ff75f36a28cdeba">ProcessProbeBatch</a> (<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *out_batch, <a class="el" href="classimpala_1_1HashTableCtx.html">HashTableCtx</a> *ht_ctx)</td></tr> | 
|  | <tr class="separator:a943252886c8074606ff75f36a28cdeba"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aa915e179dfcc5a4aecb34055a0dc5dc0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aa915e179dfcc5a4aecb34055a0dc5dc0">ProcessProbeBatch</a> (const TJoinOp::type join_op, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *out_batch, <a class="el" href="classimpala_1_1HashTableCtx.html">HashTableCtx</a> *ht_ctx)</td></tr> | 
|  | <tr class="memdesc:aa915e179dfcc5a4aecb34055a0dc5dc0"><td class="mdescLeft"> </td><td class="mdescRight">Wrapper that calls the templated version of <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a943252886c8074606ff75f36a28cdeba">ProcessProbeBatch()</a> based on 'join_op'.  <a href="#aa915e179dfcc5a4aecb34055a0dc5dc0">More...</a><br/></td></tr> | 
|  | <tr class="separator:aa915e179dfcc5a4aecb34055a0dc5dc0"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:af6bf6547d2d7de6293903837e2e0aac5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#af6bf6547d2d7de6293903837e2e0aac5">OutputUnmatchedBuild</a> (<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *out_batch)</td></tr> | 
|  | <tr class="separator:af6bf6547d2d7de6293903837e2e0aac5"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aa73625e4536b990ab5af9e3c6824fc94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aa73625e4536b990ab5af9e3c6824fc94">PrepareNullAwarePartition</a> ()</td></tr> | 
|  | <tr class="memdesc:aa73625e4536b990ab5af9e3c6824fc94"><td class="mdescLeft"> </td><td class="mdescRight">Initializes null_aware_partition_ and nulls_build_batch_ to output rows.  <a href="#aa73625e4536b990ab5af9e3c6824fc94">More...</a><br/></td></tr> | 
|  | <tr class="separator:aa73625e4536b990ab5af9e3c6824fc94"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:adb3cd58885c35dc6328dc3245fac4109"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#adb3cd58885c35dc6328dc3245fac4109">OutputNullAwareProbeRows</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *out_batch)</td></tr> | 
|  | <tr class="separator:adb3cd58885c35dc6328dc3245fac4109"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a266f63516cb27081fe765e9f85e8cc25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a266f63516cb27081fe765e9f85e8cc25">EvaluateNullProbe</a> (<a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> *build)</td></tr> | 
|  | <tr class="separator:a266f63516cb27081fe765e9f85e8cc25"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a2d764dc66e430671afcb2aeb42576894"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a2d764dc66e430671afcb2aeb42576894">PrepareNullAwareNullProbe</a> ()</td></tr> | 
|  | <tr class="separator:a2d764dc66e430671afcb2aeb42576894"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:af63e9f4c2fabd6207c99722e071a9aca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#af63e9f4c2fabd6207c99722e071a9aca">OutputNullAwareNullProbe</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *out_batch)</td></tr> | 
|  | <tr class="separator:af63e9f4c2fabd6207c99722e071a9aca"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ad759f1c990166d023701f83dd78cf5d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ad759f1c990166d023701f83dd78cf5d1">CleanUpHashPartitions</a> (<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *batch)</td></tr> | 
|  | <tr class="separator:ad759f1c990166d023701f83dd78cf5d1"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aa662b6cae64d227ed574b4b8b104d02b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aa662b6cae64d227ed574b4b8b104d02b">ReserveTupleStreamBlocks</a> ()</td></tr> | 
|  | <tr class="separator:aa662b6cae64d227ed574b4b8b104d02b"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a9b78aade47a300328b1298d012d015f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a9b78aade47a300328b1298d012d015f9">NextProbeRowBatch</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *out_batch)</td></tr> | 
|  | <tr class="separator:a9b78aade47a300328b1298d012d015f9"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ad182fa62b2bd44252f05bd3dbf0f706c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ad182fa62b2bd44252f05bd3dbf0f706c">NextSpilledProbeRowBatch</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *out_batch)</td></tr> | 
|  | <tr class="separator:ad182fa62b2bd44252f05bd3dbf0f706c"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aee121ab0597a9339754d787e8f04f574"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aee121ab0597a9339754d787e8f04f574">PrepareNextPartition</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *)</td></tr> | 
|  | <tr class="separator:aee121ab0597a9339754d787e8f04f574"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a45b98aa5c0fedd0485366ad5f00e5fbb"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a45b98aa5c0fedd0485366ad5f00e5fbb">LargestSpilledPartition</a> () const </td></tr> | 
|  | <tr class="separator:a45b98aa5c0fedd0485366ad5f00e5fbb"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a8251762e5dae2bd9bd90c1315475271b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8251762e5dae2bd9bd90c1315475271b">ResetForProbe</a> ()</td></tr> | 
|  | <tr class="memdesc:a8251762e5dae2bd9bd90c1315475271b"><td class="mdescLeft"> </td><td class="mdescRight">Prepares for probing the next batch.  <a href="#a8251762e5dae2bd9bd90c1315475271b">More...</a><br/></td></tr> | 
|  | <tr class="separator:a8251762e5dae2bd9bd90c1315475271b"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a86b0b040847c5bb40c592c061a480ba0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a86b0b040847c5bb40c592c061a480ba0">AllocateProbeFilters</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> | 
|  | <tr class="separator:a86b0b040847c5bb40c592c061a480ba0"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:af590582d0f019863702b70b37090517a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#af590582d0f019863702b70b37090517a">AttachProbeFilters</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> | 
|  | <tr class="memdesc:af590582d0f019863702b70b37090517a"><td class="mdescLeft"> </td><td class="mdescRight">Attach the probe filters to runtime state.  <a href="#af590582d0f019863702b70b37090517a">More...</a><br/></td></tr> | 
|  | <tr class="separator:af590582d0f019863702b70b37090517a"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a4b4907568bd5a2aeb48603adf66e27e2"><td class="memItemLeft" align="right" valign="top">llvm::Function * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a4b4907568bd5a2aeb48603adf66e27e2">CodegenCreateOutputRow</a> (<a class="el" href="classimpala_1_1LlvmCodeGen.html">LlvmCodeGen</a> *codegen)</td></tr> | 
|  | <tr class="memdesc:a4b4907568bd5a2aeb48603adf66e27e2"><td class="mdescLeft"> </td><td class="mdescRight">Codegen function to create output row. Assumes that the probe row is non-NULL.  <a href="#a4b4907568bd5a2aeb48603adf66e27e2">More...</a><br/></td></tr> | 
|  | <tr class="separator:a4b4907568bd5a2aeb48603adf66e27e2"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:abb3e69acbc36f64effaa3acc303980f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#abb3e69acbc36f64effaa3acc303980f7">CodegenProcessBuildBatch</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, llvm::Function *hash_fn, llvm::Function *murmur_hash_fn)</td></tr> | 
|  | <tr class="separator:abb3e69acbc36f64effaa3acc303980f7"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:af9a5c77975d2c827d7b72a44f2908787"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#af9a5c77975d2c827d7b72a44f2908787">CodegenProcessProbeBatch</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, llvm::Function *hash_fn, llvm::Function *murmur_hash_fn)</td></tr> | 
|  | <tr class="separator:af9a5c77975d2c827d7b72a44f2908787"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:afe54ea5fab7bc1ec929318cc25ab3dd1"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#afe54ea5fab7bc1ec929318cc25ab3dd1">PrintState</a> () const </td></tr> | 
|  | <tr class="memdesc:afe54ea5fab7bc1ec929318cc25ab3dd1"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current state of the partition as a string.  <a href="#afe54ea5fab7bc1ec929318cc25ab3dd1">More...</a><br/></td></tr> | 
|  | <tr class="separator:afe54ea5fab7bc1ec929318cc25ab3dd1"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aada178b1b4e9912197afb1348b672101"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aada178b1b4e9912197afb1348b672101">UpdateState</a> (<a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2">State</a> s)</td></tr> | 
|  | <tr class="memdesc:aada178b1b4e9912197afb1348b672101"><td class="mdescLeft"> </td><td class="mdescRight">Updates state_ to 's', logging the transition.  <a href="#aada178b1b4e9912197afb1348b672101">More...</a><br/></td></tr> | 
|  | <tr class="separator:aada178b1b4e9912197afb1348b672101"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a7b75db613a80592d3032b914c6df6ece"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a7b75db613a80592d3032b914c6df6ece">NodeDebugString</a> () const </td></tr> | 
|  | <tr class="separator:a7b75db613a80592d3032b914c6df6ece"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a696717f4702aff93ad53928958cf60f7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a696717f4702aff93ad53928958cf60f7">MinRequiredBuffers</a> () const </td></tr> | 
|  | <tr class="separator:a696717f4702aff93ad53928958cf60f7"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | </table><table class="memberdecls"> | 
|  | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a> | 
|  | Private Attributes</h2></td></tr> | 
|  | <tr class="memitem:aab0a27557393908ed52f68eea30c2b6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aab0a27557393908ed52f68eea30c2b6e">runtime_state_</a></td></tr> | 
|  | <tr class="separator:aab0a27557393908ed52f68eea30c2b6e"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aedd2f9a86e624a7bdbe5978dad13f2e8"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aedd2f9a86e624a7bdbe5978dad13f2e8">probe_expr_ctxs_</a></td></tr> | 
|  | <tr class="separator:aedd2f9a86e624a7bdbe5978dad13f2e8"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ae982b807d1f2f6d4b9e38ed55fc78fb8"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ae982b807d1f2f6d4b9e38ed55fc78fb8">build_expr_ctxs_</a></td></tr> | 
|  | <tr class="separator:ae982b807d1f2f6d4b9e38ed55fc78fb8"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a915361c00dc28f1afdf6a5e8045b1db3"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a915361c00dc28f1afdf6a5e8045b1db3">other_join_conjunct_ctxs_</a></td></tr> | 
|  | <tr class="memdesc:a915361c00dc28f1afdf6a5e8045b1db3"><td class="mdescLeft"> </td><td class="mdescRight">Non-equi-join conjuncts from the JOIN clause.  <a href="#a915361c00dc28f1afdf6a5e8045b1db3">More...</a><br/></td></tr> | 
|  | <tr class="separator:a915361c00dc28f1afdf6a5e8045b1db3"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aff2b1746d38b72931b7824d155e62fec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aff2b1746d38b72931b7824d155e62fec">using_small_buffers_</a></td></tr> | 
|  | <tr class="memdesc:aff2b1746d38b72931b7824d155e62fec"><td class="mdescLeft"> </td><td class="mdescRight">If true, the partitions in hash_partitions_ are using small buffers.  <a href="#aff2b1746d38b72931b7824d155e62fec">More...</a><br/></td></tr> | 
|  | <tr class="separator:aff2b1746d38b72931b7824d155e62fec"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:acb6d7f2d5654ae9d536571db4c070ff2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2">State</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#acb6d7f2d5654ae9d536571db4c070ff2">state_</a></td></tr> | 
|  | <tr class="memdesc:acb6d7f2d5654ae9d536571db4c070ff2"><td class="mdescLeft"> </td><td class="mdescRight">State of the algorithm. Used just for debugging.  <a href="#acb6d7f2d5654ae9d536571db4c070ff2">More...</a><br/></td></tr> | 
|  | <tr class="separator:acb6d7f2d5654ae9d536571db4c070ff2"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ac1b3c11c78ad923eb09f78f57d699867"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ac1b3c11c78ad923eb09f78f57d699867">status_</a></td></tr> | 
|  | <tr class="separator:ac1b3c11c78ad923eb09f78f57d699867"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a272a3b6113e41cc2cf81e31502a91680"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structimpala_1_1BufferedBlockMgr_1_1Client.html">BufferedBlockMgr::Client</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a272a3b6113e41cc2cf81e31502a91680">block_mgr_client_</a></td></tr> | 
|  | <tr class="memdesc:a272a3b6113e41cc2cf81e31502a91680"><td class="mdescLeft"> </td><td class="mdescRight">Client to the buffered block mgr.  <a href="#a272a3b6113e41cc2cf81e31502a91680">More...</a><br/></td></tr> | 
|  | <tr class="separator:a272a3b6113e41cc2cf81e31502a91680"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:af144a4e21a3452d1633d1cb1f9a6d9f4"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1HashTableCtx.html">HashTableCtx</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#af144a4e21a3452d1633d1cb1f9a6d9f4">ht_ctx_</a></td></tr> | 
|  | <tr class="separator:af144a4e21a3452d1633d1cb1f9a6d9f4"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a587cee554549d1048b4e673c30d641df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HashTable_1_1Iterator.html">HashTable::Iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a587cee554549d1048b4e673c30d641df">hash_tbl_iterator_</a></td></tr> | 
|  | <tr class="memdesc:a587cee554549d1048b4e673c30d641df"><td class="mdescLeft"> </td><td class="mdescRight">The iterator that corresponds to the look up of current_probe_row_.  <a href="#a587cee554549d1048b4e673c30d641df">More...</a><br/></td></tr> | 
|  | <tr class="separator:a587cee554549d1048b4e673c30d641df"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:afd0454dc09b3cae18fe5f626620f20ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#afd0454dc09b3cae18fe5f626620f20ae">partition_build_timer_</a></td></tr> | 
|  | <tr class="memdesc:afd0454dc09b3cae18fe5f626620f20ae"><td class="mdescLeft"> </td><td class="mdescRight">Total time spent partitioning build.  <a href="#afd0454dc09b3cae18fe5f626620f20ae">More...</a><br/></td></tr> | 
|  | <tr class="separator:afd0454dc09b3cae18fe5f626620f20ae"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a8a248a45453e3b5cbddb8e125c2fba2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8a248a45453e3b5cbddb8e125c2fba2d">num_hash_buckets_</a></td></tr> | 
|  | <tr class="memdesc:a8a248a45453e3b5cbddb8e125c2fba2d"><td class="mdescLeft"> </td><td class="mdescRight">Total number of hash buckets across all partitions.  <a href="#a8a248a45453e3b5cbddb8e125c2fba2d">More...</a><br/></td></tr> | 
|  | <tr class="separator:a8a248a45453e3b5cbddb8e125c2fba2d"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ab522681f4834202f2c27df91ce5e32f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ab522681f4834202f2c27df91ce5e32f2">partitions_created_</a></td></tr> | 
|  | <tr class="memdesc:ab522681f4834202f2c27df91ce5e32f2"><td class="mdescLeft"> </td><td class="mdescRight">Total number of partitions created.  <a href="#ab522681f4834202f2c27df91ce5e32f2">More...</a><br/></td></tr> | 
|  | <tr class="separator:ab522681f4834202f2c27df91ce5e32f2"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a2f2d466ab4d32b428fd9b89d499250f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html">RuntimeProfile::HighWaterMarkCounter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a2f2d466ab4d32b428fd9b89d499250f4">max_partition_level_</a></td></tr> | 
|  | <tr class="memdesc:a2f2d466ab4d32b428fd9b89d499250f4"><td class="mdescLeft"> </td><td class="mdescRight">Level of max partition (i.e. number of repartitioning steps).  <a href="#a2f2d466ab4d32b428fd9b89d499250f4">More...</a><br/></td></tr> | 
|  | <tr class="separator:a2f2d466ab4d32b428fd9b89d499250f4"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a6fed06fa51784ef3274166d4f37a8db8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a6fed06fa51784ef3274166d4f37a8db8">num_build_rows_partitioned_</a></td></tr> | 
|  | <tr class="memdesc:a6fed06fa51784ef3274166d4f37a8db8"><td class="mdescLeft"> </td><td class="mdescRight">Number of build/probe rows that have been partitioned.  <a href="#a6fed06fa51784ef3274166d4f37a8db8">More...</a><br/></td></tr> | 
|  | <tr class="separator:a6fed06fa51784ef3274166d4f37a8db8"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a255ed3a132c1b9338381d07ee8a18764"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a255ed3a132c1b9338381d07ee8a18764">num_probe_rows_partitioned_</a></td></tr> | 
|  | <tr class="separator:a255ed3a132c1b9338381d07ee8a18764"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a9400163b4434c701abe0413651386b67"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a9400163b4434c701abe0413651386b67">num_repartitions_</a></td></tr> | 
|  | <tr class="memdesc:a9400163b4434c701abe0413651386b67"><td class="mdescLeft"> </td><td class="mdescRight">Number of partitions that have been repartitioned.  <a href="#a9400163b4434c701abe0413651386b67">More...</a><br/></td></tr> | 
|  | <tr class="separator:a9400163b4434c701abe0413651386b67"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a3e70851bb732e9634ebda6daf322db59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a3e70851bb732e9634ebda6daf322db59">num_spilled_partitions_</a></td></tr> | 
|  | <tr class="memdesc:a3e70851bb732e9634ebda6daf322db59"><td class="mdescLeft"> </td><td class="mdescRight">Number of partitions that have been spilled.  <a href="#a3e70851bb732e9634ebda6daf322db59">More...</a><br/></td></tr> | 
|  | <tr class="separator:a3e70851bb732e9634ebda6daf322db59"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ab542faf31e6d61f00e4800778cce4a24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html">RuntimeProfile::HighWaterMarkCounter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ab542faf31e6d61f00e4800778cce4a24">largest_partition_percent_</a></td></tr> | 
|  | <tr class="separator:ab542faf31e6d61f00e4800778cce4a24"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a30f3c86c50610cc56454c23913060314"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a30f3c86c50610cc56454c23913060314">null_aware_eval_timer_</a></td></tr> | 
|  | <tr class="memdesc:a30f3c86c50610cc56454c23913060314"><td class="mdescLeft"> </td><td class="mdescRight">Time spent evaluating other_join_conjuncts for NAAJ.  <a href="#a30f3c86c50610cc56454c23913060314">More...</a><br/></td></tr> | 
|  | <tr class="separator:a30f3c86c50610cc56454c23913060314"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:af0df0eb330e98262f12508ad7243a147"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a1fcd810ba3479724f54f44ab90685e0f">ProcessBuildBatchFn</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#af0df0eb330e98262f12508ad7243a147">process_build_batch_fn_</a></td></tr> | 
|  | <tr class="separator:af0df0eb330e98262f12508ad7243a147"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a08573e89c25c4586851f575dab32e5aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a1fcd810ba3479724f54f44ab90685e0f">ProcessBuildBatchFn</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a08573e89c25c4586851f575dab32e5aa">process_build_batch_fn_level0_</a></td></tr> | 
|  | <tr class="separator:a08573e89c25c4586851f575dab32e5aa"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a832a6bc58be1354f9c8b5065e620cf82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8012dd18666a73620a5fd8b8a8bbc948">ProcessProbeBatchFn</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a832a6bc58be1354f9c8b5065e620cf82">process_probe_batch_fn_</a></td></tr> | 
|  | <tr class="separator:a832a6bc58be1354f9c8b5065e620cf82"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ae93b10d423683eb97908289f4dc09033"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8012dd18666a73620a5fd8b8a8bbc948">ProcessProbeBatchFn</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ae93b10d423683eb97908289f4dc09033">process_probe_batch_fn_level0_</a></td></tr> | 
|  | <tr class="separator:ae93b10d423683eb97908289f4dc09033"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a0278e5e86cddb5225e37e4948951d6b4"><td class="memItemLeft" align="right" valign="top">std::list< <a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a0278e5e86cddb5225e37e4948951d6b4">spilled_partitions_</a></td></tr> | 
|  | <tr class="separator:a0278e5e86cddb5225e37e4948951d6b4"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a2b335aafe9fc92010ba6ea4295f975f5"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a2b335aafe9fc92010ba6ea4295f975f5">hash_partitions_</a></td></tr> | 
|  | <tr class="separator:a2b335aafe9fc92010ba6ea4295f975f5"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:af7371f56307bc0763b9b6db15bafc271"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HashTable.html">HashTable</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#af7371f56307bc0763b9b6db15bafc271">hash_tbls_</a> [<a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ade6030802f62cc363fedb526fdd50915">PARTITION_FANOUT</a>]</td></tr> | 
|  | <tr class="separator:af7371f56307bc0763b9b6db15bafc271"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aa2c32b1dbe8cc56242c6e2d2306c3972"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aa2c32b1dbe8cc56242c6e2d2306c3972">input_partition_</a></td></tr> | 
|  | <tr class="separator:aa2c32b1dbe8cc56242c6e2d2306c3972"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ab1b7fa6bacb81af8cfdfdb4b61e9ee29"><td class="memItemLeft" align="right" valign="top">std::list< <a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ab1b7fa6bacb81af8cfdfdb4b61e9ee29">output_build_partitions_</a></td></tr> | 
|  | <tr class="separator:ab1b7fa6bacb81af8cfdfdb4b61e9ee29"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ad4945305dc0138d8eed933ac42e12468"><td class="memItemLeft" align="right" valign="top">std::vector< std::pair< <a class="el" href="namespaceimpala.html#a4e802b9fa9086eb686d8688df634a2b2">SlotId</a>, <br class="typebreak"/> | 
|  | <a class="el" href="classimpala_1_1Bitmap.html">Bitmap</a> * > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ad4945305dc0138d8eed933ac42e12468">probe_filters_</a></td></tr> | 
|  | <tr class="separator:ad4945305dc0138d8eed933ac42e12468"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a8f6feedf4dd40cb04b96cca22b29764d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8f6feedf4dd40cb04b96cca22b29764d">null_aware_partition_</a></td></tr> | 
|  | <tr class="separator:a8f6feedf4dd40cb04b96cca22b29764d"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ad2f6bee7c8b5e5040421f78993041778"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ad2f6bee7c8b5e5040421f78993041778">nulls_build_batch_</a></td></tr> | 
|  | <tr class="separator:ad2f6bee7c8b5e5040421f78993041778"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:af183e23ab0f7d81d23a935cd6713c99f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#af183e23ab0f7d81d23a935cd6713c99f">non_empty_build_</a></td></tr> | 
|  | <tr class="memdesc:af183e23ab0f7d81d23a935cd6713c99f"><td class="mdescLeft"> </td><td class="mdescRight">If true, the build side has at least one row.  <a href="#af183e23ab0f7d81d23a935cd6713c99f">More...</a><br/></td></tr> | 
|  | <tr class="separator:af183e23ab0f7d81d23a935cd6713c99f"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:ad616842ba4476356992318ddd2127328"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ad616842ba4476356992318ddd2127328">null_probe_rows_</a></td></tr> | 
|  | <tr class="separator:ad616842ba4476356992318ddd2127328"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a72fe5bb7c537d26d45df662c419b1aa5"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classbool.html">bool</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a72fe5bb7c537d26d45df662c419b1aa5">matched_null_probe_</a></td></tr> | 
|  | <tr class="separator:a72fe5bb7c537d26d45df662c419b1aa5"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a491bf69f4377f61c26deb14415ab4de5"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a491bf69f4377f61c26deb14415ab4de5">null_probe_output_idx_</a></td></tr> | 
|  | <tr class="separator:a491bf69f4377f61c26deb14415ab4de5"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | </table><table class="memberdecls"> | 
|  | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a> | 
|  | Static Private Attributes</h2></td></tr> | 
|  | <tr class="memitem:ade6030802f62cc363fedb526fdd50915"><td class="memItemLeft" align="right" valign="top">static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ade6030802f62cc363fedb526fdd50915">PARTITION_FANOUT</a> = 16</td></tr> | 
|  | <tr class="separator:ade6030802f62cc363fedb526fdd50915"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a35d565f0ee014d45b9d8f9d4c763e512"><td class="memItemLeft" align="right" valign="top">static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a35d565f0ee014d45b9d8f9d4c763e512">NUM_PARTITIONING_BITS</a> = 4</td></tr> | 
|  | <tr class="memdesc:a35d565f0ee014d45b9d8f9d4c763e512"><td class="mdescLeft"> </td><td class="mdescRight">Needs to be the log(PARTITION_FANOUT)  <a href="#a35d565f0ee014d45b9d8f9d4c763e512">More...</a><br/></td></tr> | 
|  | <tr class="separator:a35d565f0ee014d45b9d8f9d4c763e512"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:aa7e151a2a86da5fb77bfb324fadfa2c7"><td class="memItemLeft" align="right" valign="top">static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aa7e151a2a86da5fb77bfb324fadfa2c7">MAX_PARTITION_DEPTH</a> = 16</td></tr> | 
|  | <tr class="separator:aa7e151a2a86da5fb77bfb324fadfa2c7"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | <tr class="memitem:a645114b5ff2c531d862eb76850fd1fe8"><td class="memItemLeft" align="right" valign="top">static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a645114b5ff2c531d862eb76850fd1fe8">MAX_IN_MEM_BUILD_TABLES</a> = <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ade6030802f62cc363fedb526fdd50915">PARTITION_FANOUT</a></td></tr> | 
|  | <tr class="separator:a645114b5ff2c531d862eb76850fd1fe8"><td class="memSeparator" colspan="2"> </td></tr> | 
|  | </table> | 
|  | <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> | 
|  | <div class="textblock"><p>Operator to perform partitioned hash join, spilling to disk as necessary. A spilled partition is one that is not fully pinned. The operator runs in these distinct phases:</p> | 
|  | <ol type="1"> | 
|  | <li>Consume all build input and partition them. No hash tables are maintained.</li> | 
|  | <li>Construct hash tables from as many partitions as possible.</li> | 
|  | <li>Consume all the probe rows. Rows belonging to partitions that are spilled must be spilled as well.</li> | 
|  | <li>Iterate over the spilled partitions, construct the hash table from the spilled build rows and process the spilled probe rows. If the partition is still too big, repeat steps 1-4, using this spilled partitions build and probe rows as input. TODO: don't copy tuple rows so often. TODO: we need multiple hash functions. Each repartition needs new hash functions or new bits. Multiplicative hashing? TODO: think about details about multithreading. Multiple partitions in parallel? Multiple threads against a single partition? How to build hash tables in parallel? TODO: <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a70014bc32552806c0db94e1762759f48">BuildHashTables()</a> should start with the partitions that are already pinned. </li> | 
|  | </ol> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00057">57</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  | </div><h2 class="groupheader">Member Typedef Documentation</h2> | 
|  | <a class="anchor" id="a1fcd810ba3479724f54f44ab90685e0f"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">typedef <a class="el" href="classimpala_1_1Status.html">Status</a>(* impala::PartitionedHashJoinNode::ProcessBuildBatchFn)(<a class="el" href="classimpala_1_1PartitionedHashJoinNode.html">PartitionedHashJoinNode</a> *, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *)</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>llvm function and signature for codegening build batch. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00418">418</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a8012dd18666a73620a5fd8b8a8bbc948"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">typedef int(* impala::PartitionedHashJoinNode::ProcessProbeBatchFn)(<a class="el" href="classimpala_1_1PartitionedHashJoinNode.html">PartitionedHashJoinNode</a> *, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *, <a class="el" href="classimpala_1_1HashTableCtx.html">HashTableCtx</a> *)</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>llvm function and signature for codegening probe batch. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00427">427</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <h2 class="groupheader">Member Enumeration Documentation</h2> | 
|  | <a class="anchor" id="a8993add310b9a1b373faffa44cc678c2"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">enum <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2">impala::PartitionedHashJoinNode::State</a></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>Implementation details: Logically, the algorithm runs in three modes.</p> | 
|  | <ol type="1"> | 
|  | <li>Read the build side rows and partition them into hash_partitions_. This is a fixed fan out of the input. The input can either come from child(1) OR from the build tuple stream of partition that needs to be repartitioned.</li> | 
|  | <li>Read the probe side rows, partition them and either perform the join or spill them into hash_partitions_. If the partition has the hash table in memory, we perform the join, otherwise we spill the probe row. Similar to step one, the rows can come from child(0) or a spilled partition.</li> | 
|  | <li>Read and construct a single spilled partition. In this case we're walking a spilled partition and the hash table fits in memory. Neither the build nor probe side need to be partitioned and we just perform the join. States: The transition goes from PARTITIONING_BUILD -> PROCESSING_PROBE -> PROBING_SPILLED_PARTITION/REPARTITIONING. The last two steps will switch back and forth as many times as we need to repartition. </li> | 
|  | </ol> | 
|  | <table class="fieldtable"> | 
|  | <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a8993add310b9a1b373faffa44cc678c2a48dd0206c5f048a3b21432fa87d9c45a"></a>PARTITIONING_BUILD</em> </td><td class="fielddoc"> | 
|  | <p>Partitioning the build (right) child's input. Corresponds to mode 1 above but only when consuming from child(1). </p> | 
|  | </td></tr> | 
|  | <tr><td class="fieldname"><em><a class="anchor" id="a8993add310b9a1b373faffa44cc678c2a00993f51396cbc803ff26216b27c9cfd"></a>PROCESSING_PROBE</em> </td><td class="fielddoc"> | 
|  | <p>Processing the probe (left) child's input. Corresponds to mode 2 above but only when consuming from child(0). </p> | 
|  | </td></tr> | 
|  | <tr><td class="fieldname"><em><a class="anchor" id="a8993add310b9a1b373faffa44cc678c2a4974e2ef796308150c4f56f4a93129f2"></a>PROBING_SPILLED_PARTITION</em> </td><td class="fielddoc"> | 
|  | <p>Probing a spilled partition. The hash table for this partition fits in memory. Corresponds to mode 3. </p> | 
|  | </td></tr> | 
|  | <tr><td class="fieldname"><em><a class="anchor" id="a8993add310b9a1b373faffa44cc678c2a6b2b53542202410c2cc40dbc2278c074"></a>REPARTITIONING</em> </td><td class="fielddoc"> | 
|  | <p>Repartitioning a single spilled partition (input_partition_) into hash_partitions_. Corresponds to mode 1 & 2 but reading from a spilled partition. </p> | 
|  | </td></tr> | 
|  | </table> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00095">95</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <h2 class="groupheader">Constructor & Destructor Documentation</h2> | 
|  | <a class="anchor" id="ae3e61456e8643133f873a11f7b0a513f"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">PartitionedHashJoinNode::PartitionedHashJoinNode </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> * </td> | 
|  | <td class="paramname"><em>pool</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">const TPlanNode & </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> & </td> | 
|  | <td class="paramname"><em>descs</em> </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="partitioned-hash-join-node_8cc_source.html#l00043">43</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="blocking-join-node_8h_source.html#l00098">impala::BlockingJoinNode::can_add_probe_filters_</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00451">hash_tbls_</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< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > & </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">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> & </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> * </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 & </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">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">impala::BlockingJoinNode::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">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="a5f3d77b8ecfc7499f3df9a857c3fa918"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">void PartitionedHashJoinNode::AddToDebugString </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype">int </td> | 
|  | <td class="paramname"><em>indentation_level</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">std::stringstream * </td> | 
|  | <td class="paramname"><em>out</em> </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>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 from <a class="el" href="classimpala_1_1BlockingJoinNode.html#a6b34a0e7d31c372c94d2829c56a0b32a">impala::BlockingJoinNode</a>.</p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01285">1285</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8h_source.html#l00293">build_expr_ctxs_</a>, <a class="el" href="expr_8cc_source.html#l00385">impala::Expr::DebugString()</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00292">probe_expr_ctxs_</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a86b0b040847c5bb40c592c061a480ba0"></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> PartitionedHashJoinNode::AllocateProbeFilters </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  | <p>For each 'probe_expr_' in 'ht_ctx' that is a slot ref, allocate a bitmap filter on that slot. Returns false if it should not add probe filters. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00382">382</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8h_source.html#l00293">build_expr_ctxs_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00098">impala::BlockingJoinNode::can_add_probe_filters_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00292">probe_expr_ctxs_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00465">probe_filters_</a>, and <a class="el" href="runtime-state_8h_source.html#l00159">impala::RuntimeState::slot_filter_bitmap_size()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">ConstructBuildSide()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a79bacb1e208fe2d1826bad6543d86521"></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::PartitionedHashJoinNode::AppendRow </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> * </td> | 
|  | <td class="paramname"><em>stream</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </td> | 
|  | <td class="paramname"><em>row</em> </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td></td> | 
|  | <td>)</td> | 
|  | <td></td><td></td> | 
|  | </tr> | 
|  | </table> | 
|  | </td> | 
|  | <td class="mlabels-right"> | 
|  | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  | <p>Append the row to stream. In the common case, the row is just in memory. If we run out of memory, this will spill a partition and try to add the row again. returns true if the row was added and false otherwise. If false is returned, status_ contains the error (doesn't return status because this is very perf sensitive). </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00031">31</a> of file <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html">partitioned-hash-join-node.inline.h</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="buffered-tuple-stream_8inline_8h_source.html#l00025">impala::BufferedTupleStream::AddRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00427">AppendRowStreamFull()</a>, and <a class="el" href="compiler-util_8h_source.html#l00032">LIKELY</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">ProcessBuildBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="aa52389687d2e11438d7d272534865eca"></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> PartitionedHashJoinNode::AppendRowStreamFull </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> * </td> | 
|  | <td class="paramname"><em>stream</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </td> | 
|  | <td class="paramname"><em>row</em> </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>Slow path for <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a79bacb1e208fe2d1826bad6543d86521">AppendRow()</a> above except the stream has failed to append the row. We need to find more memory by spilling. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00427">427</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="buffered-tuple-stream_8inline_8h_source.html#l00025">impala::BufferedTupleStream::AddRow()</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01200">ReserveTupleStreamBlocks()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">SpillPartition()</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00228">impala::BufferedTupleStream::status()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00303">status_</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00299">using_small_buffers_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00031">AppendRow()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="af590582d0f019863702b70b37090517a"></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> PartitionedHashJoinNode::AttachProbeFilters </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  |  | 
|  | <p>Attach the probe filters to runtime state. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00400">400</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="runtime-state_8cc_source.html#l00294">impala::RuntimeState::AddBitmapFilter()</a>, <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00098">impala::BlockingJoinNode::can_add_probe_filters_</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00465">probe_filters_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">ConstructBuildSide()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a70014bc32552806c0db94e1762759f48"></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> PartitionedHashJoinNode::BuildHashTables </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  | <p>Call at the end of partitioning the build rows (which could be from the build child or from repartitioning an existing partition). After this function returns, all partitions in hash_partitions_ are ready to accept probe rows. This function constructs hash tables for as many partitions as fit in memory (which can be none). For the remaining partitions, this function initializes the probe spilling structures. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01065">1065</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00291">impala::PartitionedHashJoinNode::Partition::BuildHashTable()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00098">impala::BlockingJoinNode::can_add_probe_filters_</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00145">impala::BufferedTupleStream::Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00248">impala::PartitionedHashJoinNode::Partition::Close()</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00247">impala::BufferedTupleStream::has_write_block()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00353">impala::PartitionedHashJoinNode::Partition::hash_tbl()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00451">hash_tbls_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00456">input_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00355">impala::PartitionedHashJoinNode::Partition::is_closed()</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00243">impala::BufferedTupleStream::is_pinned()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00356">impala::PartitionedHashJoinNode::Partition::is_spilled()</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00116">PARTITION_FANOUT</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00352">impala::PartitionedHashJoinNode::Partition::probe_rows()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="runtime-state_8h_source.html#l00159">impala::RuntimeState::slot_filter_bitmap_size()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00273">impala::PartitionedHashJoinNode::Partition::Spill()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">SpillPartition()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00136">impala::BufferedTupleStream::SwitchToIoBuffers()</a>, and <a class="el" href="buffered-tuple-stream_8h_source.html#l00248">impala::BufferedTupleStream::using_small_buffers()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</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 </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">impala::BlockingJoinNode::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">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">ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00222">impala::BlockingJoinNode::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">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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::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">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">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="ad759f1c990166d023701f83dd78cf5d1"></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> PartitionedHashJoinNode::CleanUpHashPartitions </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> * </td> | 
|  | <td class="paramname"><em>batch</em></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>Call at the end of consuming the probe rows. Walks hash_partitions_ and</p> | 
|  | <ul> | 
|  | <li>If this partition had a hash table, close it. This partition is fully processed on both the build and probe sides. The streams are transferred to batch. In the case of right-outer and full-outer joins, instead of closing this partition we put it on a list of partitions that we need to flush their unmatched rows.</li> | 
|  | <li>If this partition did not have a hash table, meaning both sides were spilled, move the partition to spilled_partitions_. </li> | 
|  | </ul> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">1228</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</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#l01163">EvaluateNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00353">impala::PartitionedHashJoinNode::Partition::hash_tbl()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00406">impala::PartitionedHashJoinNode::Partition::hash_tbl_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00314">hash_tbl_iterator_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00456">input_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00355">impala::PartitionedHashJoinNode::Partition::is_closed()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00356">impala::PartitionedHashJoinNode::Partition::is_spilled()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">NodeDebugString()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00488">null_probe_rows_</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00461">output_build_partitions_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00352">impala::PartitionedHashJoinNode::Partition::probe_rows()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00439">spilled_partitions_</a>, and <a class="el" href="buffered-tuple-stream_8cc_source.html#l00396">impala::BufferedTupleStream::UnpinStream()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="aec578db442601bcba3835a3a52698d8d"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">void PartitionedHashJoinNode::Close </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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_1BlockingJoinNode.html#a026dc3cee5e676a7ad6ababfa9baebee">impala::BlockingJoinNode</a>.</p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">192</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="runtime-state_8h_source.html#l00194">impala::RuntimeState::block_mgr()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00306">block_mgr_client_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00293">build_expr_ctxs_</a>, <a class="el" href="buffered-block-mgr_8cc_source.html#l00244">impala::BufferedBlockMgr::ClearReservations()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00128">impala::BlockingJoinNode::Close()</a>, <a class="el" href="classimpala_1_1Expr.html#a70300b0ba7c91fddb9adfaeb0dfc09a5">impala::Expr::Close()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00145">impala::BufferedTupleStream::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_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00456">input_partition_</a>, <a class="el" href="exec-node_8h_source.html#l00242">impala::ExecNode::is_closed()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00477">null_aware_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00488">null_probe_rows_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00481">nulls_build_batch_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00296">other_join_conjunct_ctxs_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00461">output_build_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00292">probe_expr_ctxs_</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00439">spilled_partitions_</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a4b4907568bd5a2aeb48603adf66e27e2"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">Function * PartitionedHashJoinNode::CodegenCreateOutputRow </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1LlvmCodeGen.html">LlvmCodeGen</a> * </td> | 
|  | <td class="paramname"><em>codegen</em></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>Codegen function to create output row. Assumes that the probe row is non-NULL. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">1382</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-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="blocking-join-node_8h_source.html#l00089">impala::BlockingJoinNode::build_tuple_row_size_</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00933">impala::LlvmCodeGen::CodegenMemcpy()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00214">impala::LlvmCodeGen::context()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00596">impala::LlvmCodeGen::FinalizeFunction()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00371">impala::LlvmCodeGen::GetIntConstant()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00312">impala::LlvmCodeGen::GetType()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00064">impala::BlockingJoinNode::LLVM_CLASS_NAME</a>, <a class="el" href="tuple-row_8h_source.html#l00076">impala::TupleRow::LLVM_CLASS_NAME</a>, <a class="el" href="llvm-codegen_8h_source.html#l00382">impala::LlvmCodeGen::null_ptr_value()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00088">impala::BlockingJoinNode::probe_tuple_row_size_</a>, <a class="el" href="llvm-codegen_8h_source.html#l00393">impala::LlvmCodeGen::ptr_type()</a>, <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>, <a class="el" href="descriptors_8h_source.html#l00412">impala::RowDescriptor::tuple_descriptors()</a>, <a class="el" href="types_8h_source.html#l00033">impala::TYPE_INT</a>, and <a class="el" href="llvm-codegen_8h_source.html#l00394">impala::LlvmCodeGen::void_type()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">CodegenProcessProbeBatch()</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> * </td> | 
|  | <td class="paramname"><em>state</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">const std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > & </td> | 
|  | <td class="paramname"><em>conjunct_ctxs</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">const char * </td> | 
|  | <td class="paramname"><em>name</em> = <code>"EvalConjuncts"</code> </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">CodegenProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="abb3e69acbc36f64effaa3acc303980f7"></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> PartitionedHashJoinNode::CodegenProcessBuildBatch </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> | 
|  | <td class="paramname"><em>state</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">llvm::Function * </td> | 
|  | <td class="paramname"><em>hash_fn</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">llvm::Function * </td> | 
|  | <td class="paramname"><em>murmur_hash_fn</em> </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>Codegen processing build batches. Identical signature to ProcessBuildBatch. Returns false if codegen was not possible. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01454">1454</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="llvm-codegen_8cc_source.html#l00714">impala::LlvmCodeGen::AddFunctionToJit()</a>, <a class="el" href="runtime-state_8cc_source.html#l00312">impala::RuntimeState::GetCodegen()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00421">impala::LlvmCodeGen::GetFunction()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00583">impala::LlvmCodeGen::OptimizeFunctionWithExprs()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00423">process_build_batch_fn_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00424">process_build_batch_fn_level0_</a>, and <a class="el" href="llvm-codegen_8cc_source.html#l00489">impala::LlvmCodeGen::ReplaceCallSites()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="af9a5c77975d2c827d7b72a44f2908787"></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> PartitionedHashJoinNode::CodegenProcessProbeBatch </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> | 
|  | <td class="paramname"><em>state</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">llvm::Function * </td> | 
|  | <td class="paramname"><em>hash_fn</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">llvm::Function * </td> | 
|  | <td class="paramname"><em>murmur_hash_fn</em> </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>Codegen processing probe batches. Identical signature to ProcessProbeBatch. Returns false if codegen was not possible. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">1498</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="llvm-codegen_8cc_source.html#l00714">impala::LlvmCodeGen::AddFunctionToJit()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00366">impala::LlvmCodeGen::CastPtrToLlvmPtr()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00529">impala::LlvmCodeGen::CloneFunction()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">CodegenCreateOutputRow()</a>, <a class="el" href="exec-node_8cc_source.html#l00452">impala::ExecNode::CodegenEvalConjuncts()</a>, <a class="el" href="exec-node_8h_source.html#l00212">impala::ExecNode::conjunct_ctxs_</a>, <a class="el" href="llvm-codegen_8cc_source.html#l01105">impala::LlvmCodeGen::GetArgument()</a>, <a class="el" href="runtime-state_8cc_source.html#l00312">impala::RuntimeState::GetCodegen()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00421">impala::LlvmCodeGen::GetFunction()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00583">impala::LlvmCodeGen::OptimizeFunctionWithExprs()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00296">other_join_conjunct_ctxs_</a>, <a class="el" href="llvm-codegen_8h_source.html#l00326">impala::LlvmCodeGen::Print()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00433">process_probe_batch_fn_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00434">process_probe_batch_fn_level0_</a>, and <a class="el" href="llvm-codegen_8cc_source.html#l00489">impala::LlvmCodeGen::ReplaceCallSites()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</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 </td> | 
|  | <td class="paramname"><em>node_type</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">std::vector< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > * </td> | 
|  | <td class="paramname"><em>nodes</em> </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< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > * </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<<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*>& 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">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">ProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a51ee0388c45a326abca64b5da2e223fb"></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> PartitionedHashJoinNode::ConstructBuildSide </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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>  </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>Implements <a class="el" href="classimpala_1_1BlockingJoinNode.html#a14f3862ffcf38dd7fd7d56c8efe30f90">impala::BlockingJoinNode</a>.</p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">485</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00382">AllocateProbeFilters()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00400">AttachProbeFilters()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00293">build_expr_ctxs_</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::Open()</a>, <a class="el" href="classimpala_1_1Expr.html#aad1111f87951868de4d8f8b2dfe87c5f">impala::Expr::Open()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00296">other_join_conjunct_ctxs_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00292">probe_expr_ctxs_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00102">PROCESSING_PROBE</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01294">UpdateState()</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> * </td> | 
|  | <td class="paramname"><em>pool</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">const TPlanNode & </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> & </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> ** </td> | 
|  | <td class="paramname"><em>node</em> </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> * </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> * </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> * </td> | 
|  | <td class="paramname"><em>build_row</em> </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>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">impala::BlockingJoinNode::build_tuple_row_size_</a>, and <a class="el" href="blocking-join-node_8h_source.html#l00088">impala::BlockingJoinNode::probe_tuple_row_size_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">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">OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">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">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> * </td> | 
|  | <td class="paramname"><em>pool</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">const TPlan & </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> & </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> ** </td> | 
|  | <td class="paramname"><em>root</em> </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> * </td> | 
|  | <td class="paramname"><em>pool</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">const std::vector< TPlanNode > & </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> & </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> * </td> | 
|  | <td class="paramname"><em>parent</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">int * </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> ** </td> | 
|  | <td class="paramname"><em>root</em> </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 </td> | 
|  | <td class="paramname"><em>indentation_level</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">std::stringstream * </td> | 
|  | <td class="paramname"><em>out</em> </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 class="mlabel">inherited</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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::eos_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00067">impala::BlockingJoinNode::node_name_</a>, and <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::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">impala::BlockingJoinNode::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 * </td> | 
|  | <td class="paramname"><em>ctxs</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">int </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> * </td> | 
|  | <td class="paramname"><em>row</em> </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<Expr*> 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">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">OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">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">ProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a266f63516cb27081fe765e9f85e8cc25"></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> PartitionedHashJoinNode::EvaluateNullProbe </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> * </td> | 
|  | <td class="paramname"><em>build</em></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>Evaluates all other_join_conjuncts against null_probe_rows_ with all the rows in build. This updates matched_null_probe_, short-circuiting if one of the conjuncts pass (i.e. there is a match). This is used for NAAJ, when there are NULL probe rows. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">1163</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="blocking-join-node_8cc_source.html#l00240">impala::BlockingJoinNode::CreateOutputRow()</a>, <a class="el" href="exec-node_8cc_source.html#l00393">impala::ExecNode::EvalConjuncts()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00431">impala::BufferedTupleStream::GetRows()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00493">matched_null_probe_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00343">null_aware_eval_timer_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00488">null_probe_rows_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00964">NullAwareAntiJoinError()</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00296">other_join_conjunct_ctxs_</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, and <a class="el" href="blocking-join-node_8h_source.html#l00094">impala::BlockingJoinNode::semi_join_staging_row_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">OutputNullAwareProbeRows()</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 </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> * </td> | 
|  | <td class="paramname"><em>state</em> </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">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">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> * </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 class="mlabel">inherited</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="a06b5e353f58aece9a8f5661ebd92897b"></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> PartitionedHashJoinNode::GetNext </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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> * </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> * </td> | 
|  | <td class="paramname"><em>eos</em> </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td></td> | 
|  | <td>)</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><a class="el" href="classimpala_1_1BlockingJoinNode.html#a8b5679fb9c03b667cb3c90512a24faab">Open()</a> implemented in <a class="el" href="classimpala_1_1BlockingJoinNode.html">BlockingJoinNode</a>. </p> | 
|  |  | 
|  | <p>Implements <a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">impala::ExecNode</a>.</p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">735</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, <a class="el" href="row-batch_8h_source.html#l00102">impala::RowBatch::CommitRows()</a>, <a class="el" href="runtime-profile_8h_source.html#l00056">COUNTER_SET</a>, <a class="el" href="blocking-join-node_8h_source.html#l00082">impala::BlockingJoinNode::current_probe_row_</a>, <a class="el" href="exec-node_8cc_source.html#l00378">impala::ExecNode::ExecDebugAction()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00456">input_partition_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">NextProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00477">null_aware_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00497">null_probe_output_idx_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00481">nulls_build_batch_</a>, <a class="el" href="exec-node_8h_source.html#l00223">impala::ExecNode::num_rows_returned_</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="partitioned-hash-join-node_8h_source.html#l00461">output_build_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">OutputUnmatchedBuild()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00098">PARTITIONING_BUILD</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00969">PrepareNullAwarePartition()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00101">impala::BlockingJoinNode::probe_timer_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00433">process_probe_batch_fn_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00434">process_probe_batch_fn_level0_</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>, <a class="el" href="exec-node_8cc_source.html#l00401">impala::ExecNode::QueryMaintenance()</a>, <a class="el" href="exec-node_8h_source.html#l00159">impala::ExecNode::ReachedLimit()</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#l00226">impala::ExecNode::rows_returned_counter_</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="partitioned-hash-join-node_8h_source.html#l00302">state_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00303">status_</a>, and <a class="el" href="compiler-util_8h_source.html#l00033">UNLIKELY</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">NextProbeRowBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</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> * </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-><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">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">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="a5ebb23f2487cea6f4726c39d05057a8e"></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> PartitionedHashJoinNode::Init </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype">const TPlanNode & </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_1PartitionedHashJoinNode.html#a5ebb23f2487cea6f4726c39d05057a8e">Init()</a> work, e.g. creating expr trees. </p> | 
|  |  | 
|  | <p>Reimplemented from <a class="el" href="classimpala_1_1BlockingJoinNode.html#ade60011cccc7cafd5c07f1b8982bb12f">impala::BlockingJoinNode</a>.</p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">66</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8h_source.html#l00293">build_expr_ctxs_</a>, <a class="el" href="exec-node_8h_source.html#l00212">impala::ExecNode::conjunct_ctxs_</a>, <a class="el" href="expr_8cc_source.html#l00129">impala::Expr::CreateExprTree()</a>, <a class="el" href="expr_8cc_source.html#l00149">impala::Expr::CreateExprTrees()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00045">impala::BlockingJoinNode::Init()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00296">other_join_conjunct_ctxs_</a>, <a class="el" href="exec-node_8h_source.html#l00211">impala::ExecNode::pool_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00292">probe_expr_ctxs_</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a77f33b07249f4a9038108632348d3bce"></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> PartitionedHashJoinNode::InitGetNext </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </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">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_1PartitionedHashJoinNode.html#a06b5e353f58aece9a8f5661ebd92897b" title="Open() implemented in BlockingJoinNode. ">GetNext()</a>. A NULL ptr for first_left_child_row indicates the left child eos. </p> | 
|  |  | 
|  | <p>Implements <a class="el" href="classimpala_1_1BlockingJoinNode.html#aefb66021c52d596572754cbfb85ce760">impala::BlockingJoinNode</a>.</p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00592">592</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, and <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">ResetForProbe()</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 & </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">impala::BlockingJoinNode::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">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">ReserveTupleStreamBlocks()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">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="a45b98aa5c0fedd0485366ad5f00e5fbb"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">int64_t PartitionedHashJoinNode::LargestSpilledPartition </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">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  | <p>Iterates over all the partitions in hash_partitions_ and returns the number of rows of the largest partition (in terms of number of aggregated and unaggregated rows). </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00723">723</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00356">impala::PartitionedHashJoinNode::Partition::is_spilled()</a>, and <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</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">impala::BlockingJoinNode::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">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">PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">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="a696717f4702aff93ad53928958cf60f7"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">int impala::PartitionedHashJoinNode::MinRequiredBuffers </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">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  | <p>We need two output buffers per partition (one for build and one for probe) and and two additional buffers for the input (while repartitioning; for the build and probe sides). For NAAJ, we need 3 additional buffers to maintain the null_aware_partition_. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00282">282</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00116">PARTITION_FANOUT</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a9b78aade47a300328b1298d012d015f9"></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> PartitionedHashJoinNode::NextProbeRowBatch </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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> * </td> | 
|  | <td class="paramname"><em>out_batch</em> </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>Get the next row batch from the probe (left) side (child(0)). If we are done consuming the input, sets probe_batch_pos_ to -1, otherwise, sets it to 0. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">598</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</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">impala::BlockingJoinNode::current_probe_row_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">impala::BlockingJoinNode::probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00103">impala::BlockingJoinNode::probe_row_counter_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00077">impala::BlockingJoinNode::probe_side_eos_</a>, <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">ResetForProbe()</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ad182fa62b2bd44252f05bd3dbf0f706c"></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> PartitionedHashJoinNode::NextSpilledProbeRowBatch </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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> * </td> | 
|  | <td class="paramname"><em>out_batch</em> </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>Get the next probe row batch from input_partition_. If we are done consuming the input, sets probe_batch_pos_ to -1, otherwise, sets it to 0. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">622</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00248">impala::PartitionedHashJoinNode::Partition::Close()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00082">impala::BlockingJoinNode::current_probe_row_</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00447">impala::BufferedTupleStream::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00406">impala::PartitionedHashJoinNode::Partition::hash_tbl_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00314">hash_tbl_iterator_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00456">input_partition_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, <a class="el" href="compiler-util_8h_source.html#l00032">LIKELY</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00461">output_build_partitions_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">impala::BlockingJoinNode::probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00352">impala::PartitionedHashJoinNode::Partition::probe_rows()</a>, <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">ResetForProbe()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, and <a class="el" href="buffered-tuple-stream_8h_source.html#l00234">impala::BufferedTupleStream::rows_returned()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a7b75db613a80592d3032b914c6df6ece"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">string PartitionedHashJoinNode::NodeDebugString </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">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">1310</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="buffered-tuple-stream_8h_source.html#l00244">impala::BufferedTupleStream::blocks_pinned()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00353">impala::PartitionedHashJoinNode::Partition::hash_tbl()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00355">impala::PartitionedHashJoinNode::Partition::is_closed()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00356">impala::PartitionedHashJoinNode::Partition::is_spilled()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01299">PrintState()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00352">impala::PartitionedHashJoinNode::Partition::probe_rows()</a>, <a class="el" href="hash-table_8h_source.html#l00380">impala::HashTable::size()</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00439">spilled_partitions_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">SpillPartition()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01294">UpdateState()</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> * </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 class="mlabel">inherited</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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::current_probe_row_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00069">impala::BlockingJoinNode::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< T >::Get()</a>, <a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">impala::ExecNode::GetNext()</a>, <a class="el" href="classimpala_1_1BlockingJoinNode.html#aefb66021c52d596572754cbfb85ce760">impala::BlockingJoinNode::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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00103">impala::BlockingJoinNode::probe_row_counter_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00077">impala::BlockingJoinNode::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">ConstructBuildSide()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="af63e9f4c2fabd6207c99722e071a9aca"></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> PartitionedHashJoinNode::OutputNullAwareNullProbe </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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> * </td> | 
|  | <td class="paramname"><em>out_batch</em> </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>Outputs NULLs on the probe side, returning rows where matched_null_probe_[i] is false. Used for NAAJ. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">927</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="row-batch_8h_source.html#l00100">impala::RowBatch::AddRow()</a>, <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00248">impala::PartitionedHashJoinNode::Partition::Close()</a>, <a class="el" href="row-batch_8h_source.html#l00109">impala::RowBatch::CommitLastRow()</a>, <a class="el" href="row-batch_8h_source.html#l00173">impala::RowBatch::CopyRow()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00447">impala::BufferedTupleStream::GetNext()</a>, <a class="el" href="row-batch_8h_source.html#l00140">impala::RowBatch::GetRow()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00493">matched_null_probe_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00477">null_aware_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00497">null_probe_output_idx_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00488">null_probe_rows_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00481">nulls_build_batch_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">impala::BlockingJoinNode::probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="adb3cd58885c35dc6328dc3245fac4109"></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> PartitionedHashJoinNode::OutputNullAwareProbeRows </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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> * </td> | 
|  | <td class="paramname"><em>out_batch</em> </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>Continues processing from null_aware_partition_. Called after we have finished processing all build and probe input (including repartitioning them). </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">998</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="row-batch_8h_source.html#l00100">impala::RowBatch::AddRow()</a>, <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="row-batch_8h_source.html#l00109">impala::RowBatch::CommitLastRow()</a>, <a class="el" href="row-batch_8h_source.html#l00173">impala::RowBatch::CopyRow()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00240">impala::BlockingJoinNode::CreateOutputRow()</a>, <a class="el" href="exec-node_8cc_source.html#l00393">impala::ExecNode::EvalConjuncts()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">EvaluateNullProbe()</a>, <a class="el" href="row-batch_8h_source.html#l00140">impala::RowBatch::GetRow()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00477">null_aware_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00481">nulls_build_batch_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00296">other_join_conjunct_ctxs_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00918">PrepareNullAwareNullProbe()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">impala::BlockingJoinNode::probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00352">impala::PartitionedHashJoinNode::Partition::probe_rows()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, and <a class="el" href="blocking-join-node_8h_source.html#l00094">impala::BlockingJoinNode::semi_join_staging_row_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="af6bf6547d2d7de6293903837e2e0aac5"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">void PartitionedHashJoinNode::OutputUnmatchedBuild </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> * </td> | 
|  | <td class="paramname"><em>out_batch</em></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>Sweep the hash_tbl_ of the partition that it is in the front of flush_build_partitions_, using hash_tbl_iterator_ and output any unmatched build rows. If reaches the end of the hash table it closes that partition, removes it from flush_build_partitions_ and moves hash_tbl_iterator_ to the beginning of the partition in the front of flush_build_partitions_. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">865</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="row-batch_8h_source.html#l00100">impala::RowBatch::AddRow()</a>, <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="hash-table_8h_source.html#l00492">impala::HashTable::Iterator::AtEnd()</a>, <a class="el" href="row-batch_8h_source.html#l00216">impala::RowBatch::capacity()</a>, <a class="el" href="row-batch_8h_source.html#l00102">impala::RowBatch::CommitRows()</a>, <a class="el" href="exec-node_8h_source.html#l00152">impala::ExecNode::conjunct_ctxs()</a>, <a class="el" href="exec-node_8h_source.html#l00212">impala::ExecNode::conjunct_ctxs_</a>, <a class="el" href="row-batch_8h_source.html#l00173">impala::RowBatch::CopyRow()</a>, <a class="el" href="runtime-profile_8h_source.html#l00056">COUNTER_SET</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00240">impala::BlockingJoinNode::CreateOutputRow()</a>, <a class="el" href="exec-node_8cc_source.html#l00393">impala::ExecNode::EvalConjuncts()</a>, <a class="el" href="row-batch_8h_source.html#l00140">impala::RowBatch::GetRow()</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00230">impala::HashTable::Iterator::GetRow()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00314">hash_tbl_iterator_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00269">impala::HashTable::Iterator::IsMatched()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, <a class="el" href="tuple-row_8h_source.html#l00069">impala::TupleRow::next_row()</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00302">impala::HashTable::Iterator::NextUnmatched()</a>, <a class="el" href="row-batch_8h_source.html#l00215">impala::RowBatch::num_rows()</a>, <a class="el" href="exec-node_8h_source.html#l00223">impala::ExecNode::num_rows_returned_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00461">output_build_partitions_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00101">impala::BlockingJoinNode::probe_timer_</a>, <a class="el" href="exec-node_8h_source.html#l00226">impala::ExecNode::rows_returned_counter_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, and <a class="el" href="hash-table_8inline_8h_source.html#l00256">impala::HashTable::Iterator::SetMatched()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a9082f61fb211521b18752a148d2e5d73"></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> PartitionedHashJoinNode::Prepare </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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_1PartitionedHashJoinNode.html#a9082f61fb211521b18752a148d2e5d73">Prepare()</a> work, e.g. codegen. </p> | 
|  |  | 
|  | <p>Reimplemented from <a class="el" href="classimpala_1_1BlockingJoinNode.html#a9081198a34dc3613015e21c4e2100478">impala::BlockingJoinNode</a>.</p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">94</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <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="classimpala_1_1ExecNode.html#a19340582202dd61e0b028c28efa5490a">impala::ExecNode::AddExprCtxsToFree()</a>, <a class="el" href="classimpala_1_1RuntimeProfile.html#a91cce4e3e109922a077cb84a9f6925f2">impala::RuntimeProfile::AddHighWaterMarkCounter()</a>, <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>, <a class="el" href="runtime-state_8h_source.html#l00194">impala::RuntimeState::block_mgr()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00306">block_mgr_client_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00293">build_expr_ctxs_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="runtime-state_8h_source.html#l00183">impala::RuntimeState::codegen_enabled()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01454">CodegenProcessBuildBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">CodegenProcessProbeBatch()</a>, <a class="el" href="exec-node_8h_source.html#l00163">impala::ExecNode::expr_mem_tracker()</a>, <a class="el" href="runtime-state_8h_source.html#l00154">impala::RuntimeState::fragment_hash_seed()</a>, <a class="el" href="runtime-state_8cc_source.html#l00312">impala::RuntimeState::GetCodegen()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00116">impala::BufferedTupleStream::Init()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">impala::BlockingJoinNode::join_op_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00340">largest_partition_percent_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00130">MAX_PARTITION_DEPTH</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00326">max_partition_level_</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00282">MinRequiredBuffers()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00343">null_aware_eval_timer_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00477">null_aware_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00488">null_probe_rows_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00329">num_build_rows_partitioned_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00320">num_hash_buckets_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00330">num_probe_rows_partitioned_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00333">num_repartitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00336">num_spilled_partitions_</a>, <a class="el" href="runtime-state_8h_source.html#l00092">impala::RuntimeState::obj_pool()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00296">other_join_conjunct_ctxs_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00317">partition_build_timer_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00323">partitions_created_</a>, <a class="el" href="exec-node_8h_source.html#l00211">impala::ExecNode::pool_</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::Prepare()</a>, <a class="el" href="classimpala_1_1Expr.html#a3ae02e50debba50ac5c7b6dd9f8016e7">impala::Expr::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00292">probe_expr_ctxs_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00352">impala::PartitionedHashJoinNode::Partition::probe_rows()</a>, <a class="el" href="buffered-block-mgr_8cc_source.html#l00235">impala::BufferedBlockMgr::RegisterClient()</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="partitioned-hash-join-node_8h_source.html#l00288">runtime_state_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, and <a class="el" href="descriptors_8h_source.html#l00412">impala::RowDescriptor::tuple_descriptors()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="aee121ab0597a9339754d787e8f04f574"></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> PartitionedHashJoinNode::PrepareNextPartition </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  | <p>Moves onto the next spilled partition and initializes input_partition_. This function processes the entire build side of input_partition_ and when this function returns, we are ready to consume the probe side of input_partition_. If the build side's hash table fits in memory, we will construct input_partition_'s hash table. If it does not, meaning we need to repartition, this function will initialize hash_partitions_. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">661</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="status_8cc_source.html#l00166">impala::Status::AddDetail()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00291">impala::PartitionedHashJoinNode::Partition::BuildHashTable()</a>, <a class="el" href="runtime-profile_8h_source.html#l00055">COUNTER_ADD</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00239">impala::PartitionedHashJoinNode::Partition::EstimatedInMemSize()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00353">impala::PartitionedHashJoinNode::Partition::hash_tbl()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00451">hash_tbls_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00456">input_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00356">impala::PartitionedHashJoinNode::Partition::is_spilled()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00723">LargestSpilledPartition()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00403">impala::PartitionedHashJoinNode::Partition::level_</a>, <a class="el" href="status_8h_source.html#l00089">impala::Status::MEM_LIMIT_EXCEEDED</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">NodeDebugString()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00330">num_probe_rows_partitioned_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00333">num_repartitions_</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00116">PARTITION_FANOUT</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00314">impala::BufferedTupleStream::PrepareForRead()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00352">impala::PartitionedHashJoinNode::Partition::probe_rows()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00106">PROBING_SPILLED_PARTITION</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00111">REPARTITIONING</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="runtime-state_8cc_source.html#l00247">impala::RuntimeState::SetMemLimitExceeded()</a>, <a class="el" href="mem-tracker_8h_source.html#l00270">impala::MemTracker::SpareCapacity()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00273">impala::PartitionedHashJoinNode::Partition::Spill()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00439">spilled_partitions_</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01294">UpdateState()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a2d764dc66e430671afcb2aeb42576894"></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> PartitionedHashJoinNode::PrepareNullAwareNullProbe </td> | 
|  | <td>(</td> | 
|  | <td class="paramname"></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>Prepares to output NULLs on the probe side for NAAJ. Before calling this, matched_null_probe_ should have been fully evaluated. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00918">918</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8h_source.html#l00497">null_probe_output_idx_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00488">null_probe_rows_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00314">impala::BufferedTupleStream::PrepareForRead()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">impala::BlockingJoinNode::probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">OutputNullAwareProbeRows()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00969">PrepareNullAwarePartition()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="aa73625e4536b990ab5af9e3c6824fc94"></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> PartitionedHashJoinNode::PrepareNullAwarePartition </td> | 
|  | <td>(</td> | 
|  | <td class="paramname"></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>Initializes null_aware_partition_ and nulls_build_batch_ to output rows. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00969">969</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00477">null_aware_partition_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00964">NullAwareAntiJoinError()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00481">nulls_build_batch_</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00314">impala::BufferedTupleStream::PrepareForRead()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00918">PrepareNullAwareNullProbe()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">impala::BlockingJoinNode::probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00352">impala::PartitionedHashJoinNode::Partition::probe_rows()</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="afe54ea5fab7bc1ec929318cc25ab3dd1"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">string PartitionedHashJoinNode::PrintState </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">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  |  | 
|  | <p>Returns the current state of the partition as a string. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01299">1299</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8h_source.html#l00098">PARTITIONING_BUILD</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00106">PROBING_SPILLED_PARTITION</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00102">PROCESSING_PROBE</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00111">REPARTITIONING</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00302">state_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">NodeDebugString()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a889b8c6e67529ff8642a69ce57f8376a"></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> PartitionedHashJoinNode::ProcessBuildBatch </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> * </td> | 
|  | <td class="paramname"><em>build_batch</em></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>Reads the rows in build_batch and partitions them in hash_partitions_. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">254</a> of file <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html">partitioned-hash-join-node-ir.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="buffered-tuple-stream_8inline_8h_source.html#l00025">impala::BufferedTupleStream::AddRow()</a>, <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00031">AppendRow()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="row-batch_8h_source.html#l00140">impala::RowBatch::GetRow()</a>, <a class="el" href="url-parser_8cc_source.html#l00041">impala::hash</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00477">null_aware_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00119">NUM_PARTITIONING_BITS</a>, <a class="el" href="row-batch_8h_source.html#l00215">impala::RowBatch::num_rows()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00228">impala::BufferedTupleStream::status()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00303">status_</a>, and <a class="el" href="compiler-util_8h_source.html#l00033">UNLIKELY</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ac9a87aac238af001d553174a25c3a8e7"></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> PartitionedHashJoinNode::ProcessBuildInput </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> | 
|  | <td class="paramname"><em>state</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">int </td> | 
|  | <td class="paramname"><em>level</em> </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>Partitions the entire build input (either from child(1) or input_partition_) into hash_partitions_. When this call returns, hash_partitions_ is ready to consume the probe input. 'level' is the level new partitions (in hash_partitions_) should be created with. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">500</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <a class="el" href="runtime-state_8h_source.html#l00098">impala::RuntimeState::batch_size()</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00244">impala::BufferedTupleStream::blocks_pinned()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00102">impala::BlockingJoinNode::build_row_counter_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00413">impala::PartitionedHashJoinNode::Partition::build_rows_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01065">BuildHashTables()</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00145">impala::BufferedTupleStream::Close()</a>, <a class="el" href="runtime-profile_8h_source.html#l00055">COUNTER_ADD</a>, <a class="el" href="runtime-profile_8h_source.html#l00056">COUNTER_SET</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00447">impala::BufferedTupleStream::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">ht_ctx_</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">Init()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00456">input_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00356">impala::PartitionedHashJoinNode::Partition::is_spilled()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00340">largest_partition_percent_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00130">MAX_PARTITION_DEPTH</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00326">max_partition_level_</a>, <a class="el" href="status_8h_source.html#l00089">impala::Status::MEM_LIMIT_EXCEEDED</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">NodeDebugString()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00484">non_empty_build_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00329">num_build_rows_partitioned_</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00317">partition_build_timer_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00116">PARTITION_FANOUT</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00323">partitions_created_</a>, <a class="el" href="exec-node_8h_source.html#l00211">impala::ExecNode::pool_</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00314">impala::BufferedTupleStream::PrepareForRead()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00423">process_build_batch_fn_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00424">process_build_batch_fn_level0_</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">ProcessBuildBatch()</a>, <a class="el" href="exec-node_8cc_source.html#l00401">impala::ExecNode::QueryMaintenance()</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#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="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="status_8h_source.html#l00197">impala::Status::SetErrorMsg()</a>, <a class="el" href="runtime-state_8cc_source.html#l00247">impala::RuntimeState::SetMemLimitExceeded()</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00299">using_small_buffers_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">ConstructBuildSide()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a943252886c8074606ff75f36a28cdeba"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <div class="memtemplate"> | 
|  | template<int const JoinOp> </div> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">int PartitionedHashJoinNode::ProcessProbeBatch </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> * </td> | 
|  | <td class="paramname"><em>out_batch</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1HashTableCtx.html">HashTableCtx</a> * </td> | 
|  | <td class="paramname"><em>ht_ctx</em> </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>Process probe rows from probe_batch_. Returns either if out_batch is full or probe_batch_ is entirely consumed. For RIGHT_ANTI_JOIN, all this function does is to mark whether each build row had a match. Returns the number of rows added to out_batch; -1 on error (and status_ will be set). </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">40</a> of file <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html">partitioned-hash-join-node-ir.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="row-batch_8h_source.html#l00100">impala::RowBatch::AddRow()</a>, <a class="el" href="buffered-tuple-stream_8inline_8h_source.html#l00025">impala::BufferedTupleStream::AddRow()</a>, <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00031">AppendRow()</a>, <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="hash-table_8h_source.html#l00492">impala::HashTable::Iterator::AtEnd()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00351">impala::PartitionedHashJoinNode::Partition::build_rows()</a>, <a class="el" href="row-batch_8h_source.html#l00216">impala::RowBatch::capacity()</a>, <a class="el" href="exec-node_8h_source.html#l00152">impala::ExecNode::conjunct_ctxs()</a>, <a class="el" href="exec-node_8h_source.html#l00212">impala::ExecNode::conjunct_ctxs_</a>, <a class="el" href="row-batch_8h_source.html#l00173">impala::RowBatch::CopyRow()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00240">impala::BlockingJoinNode::CreateOutputRow()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00082">impala::BlockingJoinNode::current_probe_row_</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00030">impala::HashTableCtx::EvalAndHashProbe()</a>, <a class="el" href="exec-node_8cc_source.html#l00393">impala::ExecNode::EvalConjuncts()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00032">EvalOtherJoinConjuncts()</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00117">impala::HashTable::Find()</a>, <a class="el" href="row-batch_8h_source.html#l00140">impala::RowBatch::GetRow()</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00230">impala::HashTable::Iterator::GetRow()</a>, <a class="el" href="url-parser_8cc_source.html#l00041">impala::hash</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00314">hash_tbl_iterator_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00451">hash_tbls_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00355">impala::PartitionedHashJoinNode::Partition::is_closed()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00356">impala::PartitionedHashJoinNode::Partition::is_spilled()</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00269">impala::HashTable::Iterator::IsMatched()</a>, <a class="el" href="compiler-util_8h_source.html#l00032">LIKELY</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00493">matched_null_probe_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00083">impala::BlockingJoinNode::matched_probe_</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00292">impala::HashTable::Iterator::NextDuplicate()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00484">non_empty_build_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00477">null_aware_partition_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00488">null_probe_rows_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00119">NUM_PARTITIONING_BITS</a>, <a class="el" href="row-batch_8h_source.html#l00215">impala::RowBatch::num_rows()</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00231">impala::BufferedTupleStream::num_rows()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00296">other_join_conjunct_ctxs_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">impala::BlockingJoinNode::probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00352">impala::PartitionedHashJoinNode::Partition::probe_rows()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00102">PROCESSING_PROBE</a>, <a class="el" href="blocking-join-node_8h_source.html#l00094">impala::BlockingJoinNode::semi_join_staging_row_</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00278">impala::HashTable::Iterator::SetAtEnd()</a>, <a class="el" href="hash-table_8inline_8h_source.html#l00256">impala::HashTable::Iterator::SetMatched()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00302">state_</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00228">impala::BufferedTupleStream::status()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00303">status_</a>, and <a class="el" href="compiler-util_8h_source.html#l00033">UNLIKELY</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="aa915e179dfcc5a4aecb34055a0dc5dc0"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">int PartitionedHashJoinNode::ProcessProbeBatch </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype">const TJoinOp::type </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_1RowBatch.html">RowBatch</a> * </td> | 
|  | <td class="paramname"><em>out_batch</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1HashTableCtx.html">HashTableCtx</a> * </td> | 
|  | <td class="paramname"><em>ht_ctx</em> </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>Wrapper that calls the templated version of <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a943252886c8074606ff75f36a28cdeba">ProcessProbeBatch()</a> based on 'join_op'. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00227">227</a> of file <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html">partitioned-hash-join-node-ir.cc</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> * </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->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">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">impala::BlockingJoinNode::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">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">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="aa662b6cae64d227ed574b4b8b104d02b"></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> PartitionedHashJoinNode::ReserveTupleStreamBlocks </td> | 
|  | <td>(</td> | 
|  | <td class="paramname"></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>For each partition in hash partitions, reserves an IO sized block on both the build and probe stream. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01200">1200</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="status_8cc_source.html#l00166">impala::Status::AddDetail()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="exec-node_8h_source.html#l00242">impala::ExecNode::is_closed()</a>, <a class="el" href="status_8h_source.html#l00089">impala::Status::MEM_LIMIT_EXCEEDED</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="partitioned-hash-join-node_8h_source.html#l00299">using_small_buffers_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00427">AppendRowStreamFull()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a012279e5ada40ecf525931496ba39590"></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> PartitionedHashJoinNode::Reset </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </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_1PartitionedHashJoinNode.html#a06b5e353f58aece9a8f5661ebd92897b" title="Open() implemented in BlockingJoinNode. ">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_1BlockingJoinNode.html#aed593f75e4fe2bec8e50a74998d7a3c9">impala::BlockingJoinNode</a>.</p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00187">187</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a8251762e5dae2bd9bd90c1315475271b"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">void impala::PartitionedHashJoinNode::ResetForProbe </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">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  |  | 
|  | <p>Prepares for probing the next batch. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">24</a> of file <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html">partitioned-hash-join-node.inline.h</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="blocking-join-node_8h_source.html#l00082">impala::BlockingJoinNode::current_probe_row_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00314">hash_tbl_iterator_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00083">impala::BlockingJoinNode::matched_probe_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">impala::BlockingJoinNode::probe_batch_pos_</a>, and <a class="el" href="hash-table_8inline_8h_source.html#l00278">impala::HashTable::Iterator::SetAtEnd()</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00592">InitGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">NextProbeRowBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</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>& 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">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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::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">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">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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::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">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">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 </td> | 
|  | <td class="paramname"><em>node_id</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">TExecNodePhase::type </td> | 
|  | <td class="paramname"><em>phase</em>, </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td class="paramkey"></td> | 
|  | <td></td> | 
|  | <td class="paramtype">TDebugAction::type </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> * </td> | 
|  | <td class="paramname"><em>tree</em> </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="a36a6a36b8115ccfd2120fdd34a564b89"></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> PartitionedHashJoinNode::SpillPartition </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a> ** </td> | 
|  | <td class="paramname"><em>spilled_partition</em></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>Called when we need to free up memory by spilling a partition. This function walks hash_partitions_ and picks on to spill. *spilled_partition is the partition that was spilled. Returns non-ok status if we couldn't spill a partition. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">450</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="runtime-state_8h_source.html#l00194">impala::RuntimeState::block_mgr()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00306">block_mgr_client_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">hash_partitions_</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00451">hash_tbls_</a>, <a class="el" href="exec-node_8h_source.html#l00242">impala::ExecNode::is_closed()</a>, <a class="el" href="buffered-block-mgr_8cc_source.html#l00369">impala::BufferedBlockMgr::MemLimitTooLowError()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">NodeDebugString()</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="partitioned-hash-join-node_8h_source.html#l00288">runtime_state_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00427">AppendRowStreamFull()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01065">BuildHashTables()</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> | 
|  | <a class="anchor" id="aada178b1b4e9912197afb1348b672101"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">void PartitionedHashJoinNode::UpdateState </td> | 
|  | <td>(</td> | 
|  | <td class="paramtype"><a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2">State</a> </td> | 
|  | <td class="paramname"><em>s</em></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>Updates state_ to 's', logging the transition. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01294">1294</a> of file <a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a>.</p> | 
|  |  | 
|  | <p>References <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">NodeDebugString()</a>, and <a class="el" href="partitioned-hash-join-node_8h_source.html#l00302">state_</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">ConstructBuildSide()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <h2 class="groupheader">Member Data Documentation</h2> | 
|  | <a class="anchor" id="a272a3b6113e41cc2cf81e31502a91680"></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="structimpala_1_1BufferedBlockMgr_1_1Client.html">BufferedBlockMgr::Client</a>* impala::PartitionedHashJoinNode::block_mgr_client_</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>Client to the buffered block mgr. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00306">306</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">SpillPartition()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ae982b807d1f2f6d4b9e38ed55fc78fb8"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">std::vector<<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*> impala::PartitionedHashJoinNode::build_expr_ctxs_</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>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00293">293</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01285">AddToDebugString()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00382">AllocateProbeFilters()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">ConstructBuildSide()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">Init()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <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<<a class="el" href="classimpala_1_1MemPool.html">MemPool</a>> impala::BlockingJoinNode::build_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="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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::Prepare()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00120">impala::BlockingJoinNode::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 class="mlabel">inherited</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">impala::BlockingJoinNode::Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">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 class="mlabel">inherited</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">impala::BlockingJoinNode::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 class="mlabel">inherited</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">CodegenCreateOutputRow()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00240">impala::BlockingJoinNode::CreateOutputRow()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::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 class="mlabel">inherited</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">AllocateProbeFilters()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00400">AttachProbeFilters()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01065">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">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<<a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a>*> 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<<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*> 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">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">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">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">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 class="mlabel">inherited</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">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">NextProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::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">ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">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 class="mlabel">inherited</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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::Open()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00120">impala::BlockingJoinNode::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<<a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>> 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="a2b335aafe9fc92010ba6ea4295f975f5"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">std::vector<<a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a>*> impala::PartitionedHashJoinNode::hash_partitions_</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>The current set of partitions that are being built. This is only used in mode 1 and 2 when we need to partition the build and probe inputs. This is not used when processing a single partition. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00444">444</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01065">BuildHashTables()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00723">LargestSpilledPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">NodeDebugString()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">ProcessBuildBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01200">ReserveTupleStreamBlocks()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">SpillPartition()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a587cee554549d1048b4e673c30d641df"></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_1HashTable_1_1Iterator.html">HashTable::Iterator</a> impala::PartitionedHashJoinNode::hash_tbl_iterator_</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>The iterator that corresponds to the look up of current_probe_row_. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00314">314</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">OutputUnmatchedBuild()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">ResetForProbe()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="af7371f56307bc0763b9b6db15bafc271"></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_1HashTable.html">HashTable</a>* impala::PartitionedHashJoinNode::hash_tbls_[<a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ade6030802f62cc363fedb526fdd50915">PARTITION_FANOUT</a>]</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>Cache of the per partition hash table to speed up ProcessProbeBatch. In the case where we need to partition the probe: hash_tbls_[i] = hash_partitions_[i]->hash_tbl(); In the case where we don't need to partition the probe: hash_tbls_[i] = input_partition_->hash_tbl(); </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00451">451</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01065">BuildHashTables()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00043">PartitionedHashJoinNode()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">SpillPartition()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="af144a4e21a3452d1633d1cb1f9a6d9f4"></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<<a class="el" href="classimpala_1_1HashTableCtx.html">HashTableCtx</a>> impala::PartitionedHashJoinNode::ht_ctx_</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>Used for hash-related functionality, such as evaluating rows and calculating hashes. TODO: If we want to multi-thread then this context should be thread-local and not associated with the node. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00311">311</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00382">AllocateProbeFilters()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01454">CodegenProcessBuildBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">CodegenProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">OutputUnmatchedBuild()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">ProcessBuildBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</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">PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="aa2c32b1dbe8cc56242c6e2d2306c3972"></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_1PartitionedHashJoinNode_1_1Partition.html">Partition</a>* impala::PartitionedHashJoinNode::input_partition_</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>The current input partition to be processed (not in spilled_partitions_). This partition can either serve as the source for a repartitioning step, or if the hash table fits in memory, the source of the probe rows. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00456">456</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01065">BuildHashTables()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</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 class="mlabel">inherited</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">CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">CodegenCreateOutputRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">CodegenProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">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">Init()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00282">MinRequiredBuffers()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">NodeDebugString()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">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">impala::BlockingJoinNode::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">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="ab542faf31e6d61f00e4800778cce4a24"></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_1HighWaterMarkCounter.html">RuntimeProfile::HighWaterMarkCounter</a>* impala::PartitionedHashJoinNode::largest_partition_percent_</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>The largest fraction (of build side) after repartitioning. This is expected to be 1 / PARTITION_FANOUT. A value much larger indicates skew. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00340">340</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</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 = "class.impala::BlockingJoinNode"</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>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">CodegenCreateOutputRow()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a72fe5bb7c537d26d45df662c419b1aa5"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">std::vector<<a class="el" href="classbool.html">bool</a>> impala::PartitionedHashJoinNode::matched_null_probe_</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>For each row in null_probe_rows_, true if this row has matched any build row (i.e. the resulting joined row passes other_join_conjuncts). TODO: remove this. We need to be able to put these bits inside the tuple itself. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00493">493</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">EvaluateNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">OutputNullAwareNullProbe()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</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 class="mlabel">inherited</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">ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">ResetForProbe()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a645114b5ff2c531d862eb76850fd1fe8"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">const int impala::PartitionedHashJoinNode::MAX_IN_MEM_BUILD_TABLES = <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#ade6030802f62cc363fedb526fdd50915">PARTITION_FANOUT</a></td> | 
|  | </tr> | 
|  | </table> | 
|  | </td> | 
|  | <td class="mlabels-right"> | 
|  | <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  | <p>Maximum number of build tables that can be in memory at any time. This is in addition to the memory constraints and is used for testing to trigger code paths for small tables. Note: In order to test the spilling paths more easily, set it to PARTITION_FANOUT / 2. TODO: Eventually remove. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00137">137</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="aa7e151a2a86da5fb77bfb324fadfa2c7"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">const int impala::PartitionedHashJoinNode::MAX_PARTITION_DEPTH = 16</td> | 
|  | </tr> | 
|  | </table> | 
|  | </td> | 
|  | <td class="mlabels-right"> | 
|  | <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  | <p>Maximum number of times we will repartition. The maximum build table we can process is: MEM_LIMIT * (PARTITION_FANOUT ^ MAX_PARTITION_DEPTH). With a (low) 1GB limit and 64 fanout, we can support 256TB build tables in the case where there is no skew. In the case where there is skew, repartitioning is unlikely to help (assuming a reasonable hash function). Note that we need to have at least as many SEED_PRIMES in <a class="el" href="classimpala_1_1HashTableCtx.html">HashTableCtx</a>. TODO: we can revisit and try harder to explicitly detect skew. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00130">130</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a2f2d466ab4d32b428fd9b89d499250f4"></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_1HighWaterMarkCounter.html">RuntimeProfile::HighWaterMarkCounter</a>* impala::PartitionedHashJoinNode::max_partition_level_</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>Level of max partition (i.e. number of repartitioning steps). </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00326">326</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</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<<a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>> 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 class="mlabel">inherited</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">impala::BlockingJoinNode::DebugString()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::Open()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="af183e23ab0f7d81d23a935cd6713c99f"></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::PartitionedHashJoinNode::non_empty_build_</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>If true, the build side has at least one row. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00484">484</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a30f3c86c50610cc56454c23913060314"></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::PartitionedHashJoinNode::null_aware_eval_timer_</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>Time spent evaluating other_join_conjuncts for NAAJ. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00343">343</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">EvaluateNullProbe()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a8f6feedf4dd40cb04b96cca22b29764d"></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_1PartitionedHashJoinNode_1_1Partition.html">Partition</a>* impala::PartitionedHashJoinNode::null_aware_partition_</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><a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a> used if null_aware_ is set. This partition is always processed at the end after all build and probe rows are processed. Rows are added to this partition along the way. In this partition's build_rows_, we store all the rows for which build_expr_ctxs_ evaluated over the row returns NULL (i.e. it has a NULL on the eq join slot). In this partition's probe_rows, we store all probe rows that did not have a match in the hash table. At the very end, we then iterate over all the probe rows. For each probe row, we return the rows that did not match any of the build rows. NULL if we this join is not null aware or we are done processing this partition. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00477">477</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00969">PrepareNullAwarePartition()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">ProcessBuildBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a491bf69f4377f61c26deb14415ab4de5"></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::PartitionedHashJoinNode::null_probe_output_idx_</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>The current index into null_probe_rows_/matched_null_probe_ that we are outputting. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00497">497</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">OutputNullAwareNullProbe()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00918">PrepareNullAwareNullProbe()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ad616842ba4476356992318ddd2127328"></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_1BufferedTupleStream.html">BufferedTupleStream</a>* impala::PartitionedHashJoinNode::null_probe_rows_</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>For NAAJ, this stream contains all probe rows that had NULL on the hash table conjuncts. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00488">488</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">EvaluateNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00918">PrepareNullAwareNullProbe()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ad2f6bee7c8b5e5040421f78993041778"></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<<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a>> impala::PartitionedHashJoinNode::nulls_build_batch_</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>Used while processing null_aware_partition_. It contains all the build tuple rows with a NULL when evaluating the hash table expr. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00481">481</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">OutputNullAwareProbeRows()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00969">PrepareNullAwarePartition()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a6fed06fa51784ef3274166d4f37a8db8"></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::PartitionedHashJoinNode::num_build_rows_partitioned_</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>Number of build/probe rows that have been partitioned. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00329">329</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a8a248a45453e3b5cbddb8e125c2fba2d"></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::PartitionedHashJoinNode::num_hash_buckets_</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>Total number of hash buckets across all partitions. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00320">320</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a35d565f0ee014d45b9d8f9d4c763e512"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">const int impala::PartitionedHashJoinNode::NUM_PARTITIONING_BITS = 4</td> | 
|  | </tr> | 
|  | </table> | 
|  | </td> | 
|  | <td class="mlabels-right"> | 
|  | <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  |  | 
|  | <p>Needs to be the log(PARTITION_FANOUT) </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00119">119</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00301">impala::PartitionedHashJoinNode::Partition::BuildHashTableInternal()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">ProcessBuildBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a255ed3a132c1b9338381d07ee8a18764"></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::PartitionedHashJoinNode::num_probe_rows_partitioned_</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>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00330">330</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a9400163b4434c701abe0413651386b67"></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::PartitionedHashJoinNode::num_repartitions_</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>Number of partitions that have been repartitioned. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00333">333</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</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">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">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="a3e70851bb732e9634ebda6daf322db59"></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::PartitionedHashJoinNode::num_spilled_partitions_</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>Number of partitions that have been spilled. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00336">336</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a915361c00dc28f1afdf6a5e8045b1db3"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">std::vector<<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*> impala::PartitionedHashJoinNode::other_join_conjunct_ctxs_</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>Non-equi-join conjuncts from the JOIN clause. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00296">296</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">CodegenProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">ConstructBuildSide()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">EvaluateNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">Init()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ab1b7fa6bacb81af8cfdfdb4b61e9ee29"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">std::list<<a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a>*> impala::PartitionedHashJoinNode::output_build_partitions_</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>In the case of right-outer and full-outer joins, this is the list of the partitions that we need to output their unmatched build rows. We always flush the unmatched rows of the partition that it is in the front. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00461">461</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">OutputUnmatchedBuild()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="afd0454dc09b3cae18fe5f626620f20ae"></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::PartitionedHashJoinNode::partition_build_timer_</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>Total time spent partitioning build. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00317">317</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ade6030802f62cc363fedb526fdd50915"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">const int impala::PartitionedHashJoinNode::PARTITION_FANOUT = 16</td> | 
|  | </tr> | 
|  | </table> | 
|  | </td> | 
|  | <td class="mlabels-right"> | 
|  | <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td> | 
|  | </tr> | 
|  | </table> | 
|  | </div><div class="memdoc"> | 
|  | <p>Number of initial partitions to create. Must be a power of two. TODO: this is set to a lower than actual value for testing. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00116">116</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01065">BuildHashTables()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00282">MinRequiredBuffers()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ab522681f4834202f2c27df91ce5e32f2"></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::PartitionedHashJoinNode::partitions_created_</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>Total number of partitions created. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00323">323</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</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">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">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">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<<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a>> impala::BlockingJoinNode::probe_batch_</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>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">impala::BlockingJoinNode::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">NextProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">OutputNullAwareProbeRows()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00918">PrepareNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00969">PrepareNullAwarePartition()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00120">impala::BlockingJoinNode::Reset()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00050">impala::BlockingJoinNode::~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 class="mlabel">inherited</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">CleanUpHashPartitions()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00212">impala::BlockingJoinNode::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">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">NextProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">NextSpilledProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00918">PrepareNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00969">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">ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">ResetForProbe()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="aedd2f9a86e624a7bdbe5978dad13f2e8"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">std::vector<<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*> impala::PartitionedHashJoinNode::probe_expr_ctxs_</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>Our equi-join predicates "<lhs> = <rhs>" are separated into build_expr_ctxs_ (over child(1)) and probe_expr_ctxs_ (over child(0)) </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00292">292</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01285">AddToDebugString()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00382">AllocateProbeFilters()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">ConstructBuildSide()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">Init()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ad4945305dc0138d8eed933ac42e12468"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">std::vector<std::pair<<a class="el" href="namespaceimpala.html#a4e802b9fa9086eb686d8688df634a2b2">SlotId</a>, <a class="el" href="classimpala_1_1Bitmap.html">Bitmap</a>*> > impala::PartitionedHashJoinNode::probe_filters_</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>Used for concentrating the existence bits from all the partitions, used by the probe-side filter optimization. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00465">465</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00382">AllocateProbeFilters()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00400">AttachProbeFilters()</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 class="mlabel">inherited</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">NextProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::Open()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::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 class="mlabel">inherited</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">NextProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::Open()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00120">impala::BlockingJoinNode::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 class="mlabel">inherited</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">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">OutputUnmatchedBuild()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::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 class="mlabel">inherited</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">CodegenCreateOutputRow()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00240">impala::BlockingJoinNode::CreateOutputRow()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::Prepare()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="af0df0eb330e98262f12508ad7243a147"></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_1PartitionedHashJoinNode.html#a1fcd810ba3479724f54f44ab90685e0f">ProcessBuildBatchFn</a> impala::PartitionedHashJoinNode::process_build_batch_fn_</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>Jitted ProcessBuildBatch function pointers. NULL if codegen is disabled. process_build_batch_fn_level0_ uses CRC hashing when available and is used when the partition level is 0, otherwise process_build_batch_fn_ uses murmur hash and is used for subsequent levels. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00423">423</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01454">CodegenProcessBuildBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a08573e89c25c4586851f575dab32e5aa"></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_1PartitionedHashJoinNode.html#a1fcd810ba3479724f54f44ab90685e0f">ProcessBuildBatchFn</a> impala::PartitionedHashJoinNode::process_build_batch_fn_level0_</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>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00424">424</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01454">CodegenProcessBuildBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a832a6bc58be1354f9c8b5065e620cf82"></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_1PartitionedHashJoinNode.html#a8012dd18666a73620a5fd8b8a8bbc948">ProcessProbeBatchFn</a> impala::PartitionedHashJoinNode::process_probe_batch_fn_</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>Jitted ProcessProbeBatch function pointer. NULL if codegen is disabled. process_probe_batch_fn_level0_ uses CRC hashing when available and is used when the partition level is 0, otherwise process_probe_batch_fn_ uses murmur hash and is used for subsequent levels. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00433">433</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">CodegenProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ae93b10d423683eb97908289f4dc09033"></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_1PartitionedHashJoinNode.html#a8012dd18666a73620a5fd8b8a8bbc948">ProcessProbeBatchFn</a> impala::PartitionedHashJoinNode::process_probe_batch_fn_level0_</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>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00434">434</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">CodegenProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</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 = "RowsReturnedRate"</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">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">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<<a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>> 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">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">impala::BlockingJoinNode::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">impala::BlockingJoinNode::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">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="aab0a27557393908ed52f68eea30c2b6e"></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_1RuntimeState.html">RuntimeState</a>* impala::PartitionedHashJoinNode::runtime_state_</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>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00288">288</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">SpillPartition()</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 class="mlabel">inherited</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">impala::BlockingJoinNode::Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">EvaluateNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">OutputNullAwareProbeRows()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::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">ProcessProbeBatch()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="a0278e5e86cddb5225e37e4948951d6b4"></a> | 
|  | <div class="memitem"> | 
|  | <div class="memproto"> | 
|  | <table class="mlabels"> | 
|  | <tr> | 
|  | <td class="mlabels-left"> | 
|  | <table class="memname"> | 
|  | <tr> | 
|  | <td class="memname">std::list<<a class="el" href="classimpala_1_1PartitionedHashJoinNode_1_1Partition.html">Partition</a>*> impala::PartitionedHashJoinNode::spilled_partitions_</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>The list of partitions that have been spilled on both sides and still need more processing. These partitions could need repartitioning, in which cases more partitions will be added to this list after repartitioning. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00439">439</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">NodeDebugString()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">PrepareNextPartition()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="acb6d7f2d5654ae9d536571db4c070ff2"></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_1PartitionedHashJoinNode.html#a8993add310b9a1b373faffa44cc678c2">State</a> impala::PartitionedHashJoinNode::state_</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>State of the algorithm. Used just for debugging. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00302">302</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01299">PrintState()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01294">UpdateState()</a>.</p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <a class="anchor" id="ac1b3c11c78ad923eb09f78f57d699867"></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::PartitionedHashJoinNode::status_</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>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00303">303</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00427">AppendRowStreamFull()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">GetNext()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">ProcessBuildBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">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> | 
|  | <a class="anchor" id="aff2b1746d38b72931b7824d155e62fec"></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::PartitionedHashJoinNode::using_small_buffers_</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>If true, the partitions in hash_partitions_ are using small buffers. </p> | 
|  |  | 
|  | <p>Definition at line <a class="el" href="partitioned-hash-join-node_8h_source.html#l00299">299</a> of file <a class="el" href="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a>.</p> | 
|  |  | 
|  | <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00427">AppendRowStreamFull()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">ProcessBuildInput()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01200">ReserveTupleStreamBlocks()</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="partitioned-hash-join-node_8h_source.html">partitioned-hash-join-node.h</a></li> | 
|  | <li>be/src/exec/<a class="el" href="partitioned-hash-join-node-ir_8cc_source.html">partitioned-hash-join-node-ir.cc</a></li> | 
|  | <li>be/src/exec/<a class="el" href="partitioned-hash-join-node_8cc_source.html">partitioned-hash-join-node.cc</a></li> | 
|  | <li>be/src/exec/<a class="el" href="partitioned-hash-join-node_8inline_8h_source.html">partitioned-hash-join-node.inline.h</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_1PartitionedHashJoinNode.html">PartitionedHashJoinNode</a></li> | 
|  | <li class="footer">Generated on Thu May 7 2015 16:10:48 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> |