blob: 060b69b1b4d3ae81a0175e05876f9d026bfff97b [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Impala: impala::HdfsScanNode Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Impala
</div>
<div id="projectbrief">Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classimpala_1_1HdfsScanNode.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classimpala_1_1HdfsScanNode-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">impala::HdfsScanNode Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for impala::HdfsScanNode:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1HdfsScanNode__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::HdfsScanNode:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1HdfsScanNode__coll__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:adc5104041e8113d244f775b8fd7a7280"><td class="memItemLeft" align="right" valign="top">typedef boost::unordered_map<br class="typebreak"/>
&lt; int32_t, std::pair&lt; int, <br class="typebreak"/>
int64_t &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#adc5104041e8113d244f775b8fd7a7280">PerVolumnStats</a></td></tr>
<tr class="memdesc:adc5104041e8113d244f775b8fd7a7280"><td class="mdescLeft">&#160;</td><td class="mdescRight">map from volume id to &lt;number of split, per volume split lengths&gt; <a href="#adc5104041e8113d244f775b8fd7a7280">More...</a><br/></td></tr>
<tr class="separator:adc5104041e8113d244f775b8fd7a7280"><td class="memSeparator" colspan="2">&#160;</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:a867dc70e19ceceff248b6848d426e643"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a867dc70e19ceceff248b6848d426e643">HdfsScanNode</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlanNode &amp;tnode, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;descs)</td></tr>
<tr class="separator:a867dc70e19ceceff248b6848d426e643"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa866fb84b4cee4e924854e1eb03bbb63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#aa866fb84b4cee4e924854e1eb03bbb63">~HdfsScanNode</a> ()</td></tr>
<tr class="separator:aa866fb84b4cee4e924854e1eb03bbb63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a265b144314da1ba14edde43893493c0d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a265b144314da1ba14edde43893493c0d">Prepare</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="memdesc:a265b144314da1ba14edde43893493c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> methods. <a href="#a265b144314da1ba14edde43893493c0d">More...</a><br/></td></tr>
<tr class="separator:a265b144314da1ba14edde43893493c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39c0718de7bdd2bff19c97dc1eb5bdaa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a39c0718de7bdd2bff19c97dc1eb5bdaa">Open</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:a39c0718de7bdd2bff19c97dc1eb5bdaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d9631e3dbf9ec410699953759694890"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a7d9631e3dbf9ec410699953759694890">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="separator:a7d9631e3dbf9ec410699953759694890"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f8e4ee279a1f64787666e72308bf66d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a5f8e4ee279a1f64787666e72308bf66d">Reset</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:a5f8e4ee279a1f64787666e72308bf66d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace07ac96df8e9b8ac2991c142cbc24c0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:ace07ac96df8e9b8ac2991c142cbc24c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d958bcb71c4496bbdcc357d6a6439ac"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a3d958bcb71c4496bbdcc357d6a6439ac">limit</a> () const </td></tr>
<tr class="separator:a3d958bcb71c4496bbdcc357d6a6439ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c7c7603998614d3f5f8d0d679846f5e"><td class="memItemLeft" align="right" valign="top">const std::vector<br class="typebreak"/>
&lt; <a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a3c7c7603998614d3f5f8d0d679846f5e">materialized_slots</a> () const </td></tr>
<tr class="separator:a3c7c7603998614d3f5f8d0d679846f5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2219a299f3c2e1ec81d6699d65b4c80c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a2219a299f3c2e1ec81d6699d65b4c80c">tuple_idx</a> () const </td></tr>
<tr class="separator:a2219a299f3c2e1ec81d6699d65b4c80c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e4f02d8347050fbe459b9b3ea0aa4ed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a5e4f02d8347050fbe459b9b3ea0aa4ed">num_partition_keys</a> () const </td></tr>
<tr class="memdesc:a5e4f02d8347050fbe459b9b3ea0aa4ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns number of partition keys in the table, including non-materialized slots. <a href="#a5e4f02d8347050fbe459b9b3ea0aa4ed">More...</a><br/></td></tr>
<tr class="separator:a5e4f02d8347050fbe459b9b3ea0aa4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd5404513f8cde9fcb6025d67389e192"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#afd5404513f8cde9fcb6025d67389e192">num_materialized_partition_keys</a> () const </td></tr>
<tr class="memdesc:afd5404513f8cde9fcb6025d67389e192"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns number of materialized partition key slots. <a href="#afd5404513f8cde9fcb6025d67389e192">More...</a><br/></td></tr>
<tr class="separator:afd5404513f8cde9fcb6025d67389e192"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80d3fb07200c309f82227e428db98a62"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1TupleDescriptor.html">TupleDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a80d3fb07200c309f82227e428db98a62">tuple_desc</a> ()</td></tr>
<tr class="separator:a80d3fb07200c309f82227e428db98a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865a6c5db18de5eb3f2b119beb293fce"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1HdfsTableDescriptor.html">HdfsTableDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a865a6c5db18de5eb3f2b119beb293fce">hdfs_table</a> ()</td></tr>
<tr class="separator:a865a6c5db18de5eb3f2b119beb293fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a47b289756eb429bbeb5bf134959f9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a5a47b289756eb429bbeb5bf134959f9e">runtime_state</a> ()</td></tr>
<tr class="separator:a5a47b289756eb429bbeb5bf134959f9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ae2a85f03b9945978b212c75f1e3ca1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1DiskIoMgr_1_1RequestContext.html">DiskIoMgr::RequestContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a2ae2a85f03b9945978b212c75f1e3ca1">reader_context</a> ()</td></tr>
<tr class="separator:a2ae2a85f03b9945978b212c75f1e3ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa62d031748dd0e8c6aae15f2d2baa18e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html">RuntimeProfile::HighWaterMarkCounter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#aa62d031748dd0e8c6aae15f2d2baa18e">max_compressed_text_file_length</a> ()</td></tr>
<tr class="separator:aa62d031748dd0e8c6aae15f2d2baa18e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b07275398efab777795acbc34b3fd17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a8b07275398efab777795acbc34b3fd17">GetConjunctCtxs</a> (std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; *ctxs)</td></tr>
<tr class="separator:a8b07275398efab777795acbc34b3fd17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87b2fb17053d1d8d94762c024e7ffc70"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a87b2fb17053d1d8d94762c024e7ffc70">GetMaterializedSlotIdx</a> (const std::vector&lt; int &gt; &amp;<a class="el" href="sasl-test_8cc.html#a2db66f7b463c0e190f8933e51f43d91e">path</a>) const </td></tr>
<tr class="separator:a87b2fb17053d1d8d94762c024e7ffc70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22576a9da3e350ad498e6c37ae89b98e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classbool.html">bool</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a22576a9da3e350ad498e6c37ae89b98e">is_materialized_col</a> ()</td></tr>
<tr class="separator:a22576a9da3e350ad498e6c37ae89b98e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a859aa77fccafc5a265047d5700196065"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a859aa77fccafc5a265047d5700196065">GetCodegenFn</a> (THdfsFileFormat::type)</td></tr>
<tr class="separator:a859aa77fccafc5a265047d5700196065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1fc2cc4ee22ebaef1eb47de5ce1b366"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ad1fc2cc4ee22ebaef1eb47de5ce1b366">IncNumScannersCodegenEnabled</a> ()</td></tr>
<tr class="separator:ad1fc2cc4ee22ebaef1eb47de5ce1b366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42b653b45398f8ba44c6e5170402deb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a42b653b45398f8ba44c6e5170402deb3">IncNumScannersCodegenDisabled</a> ()</td></tr>
<tr class="separator:a42b653b45398f8ba44c6e5170402deb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55e38d04080295725416c3ab2fcb8338"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a55e38d04080295725416c3ab2fcb8338">AddMaterializedRowBatch</a> (<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *row_batch)</td></tr>
<tr class="separator:a55e38d04080295725416c3ab2fcb8338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5314b840efa7625e54ce930ee1986bb1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1DiskIoMgr_1_1ScanRange.html">DiskIoMgr::ScanRange</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a5314b840efa7625e54ce930ee1986bb1">AllocateScanRange</a> (hdfsFS fs, const char *file, int64_t len, int64_t <a class="el" href="partitioning-throughput-test_8cc.html#ad172ecfd5c31c5df6282c2b4bc322bf7">offset</a>, int64_t partition_id, int disk_id, <a class="el" href="classbool.html">bool</a> try_cache, <a class="el" href="classbool.html">bool</a> expected_local, int64_t mtime)</td></tr>
<tr class="separator:a5314b840efa7625e54ce930ee1986bb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe9bc42ad3846bde9f7113e5f1c133dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#afe9bc42ad3846bde9f7113e5f1c133dc">AddDiskIoRanges</a> (const std::vector&lt; <a class="el" href="classimpala_1_1DiskIoMgr_1_1ScanRange.html">DiskIoMgr::ScanRange</a> * &gt; &amp;ranges)</td></tr>
<tr class="memdesc:afe9bc42ad3846bde9f7113e5f1c133dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds ranges to the io mgr queue and starts up new scanner threads if possible. <a href="#afe9bc42ad3846bde9f7113e5f1c133dc">More...</a><br/></td></tr>
<tr class="separator:afe9bc42ad3846bde9f7113e5f1c133dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0db01a0c4d71cd43de871e55a961155d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a0db01a0c4d71cd43de871e55a961155d">AddDiskIoRanges</a> (const <a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> *file_desc)</td></tr>
<tr class="memdesc:a0db01a0c4d71cd43de871e55a961155d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds all splits for file_desc to the io mgr queue. <a href="#a0db01a0c4d71cd43de871e55a961155d">More...</a><br/></td></tr>
<tr class="separator:a0db01a0c4d71cd43de871e55a961155d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47c24bd36cf74eeafc574dce1b64c831"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a47c24bd36cf74eeafc574dce1b64c831">MarkFileDescIssued</a> (const <a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> *file_desc)</td></tr>
<tr class="separator:a47c24bd36cf74eeafc574dce1b64c831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a396518f57c6ff5e8aada2bb100dfda3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a396518f57c6ff5e8aada2bb100dfda3c">InitTemplateTuple</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;value_ctxs)</td></tr>
<tr class="separator:a396518f57c6ff5e8aada2bb100dfda3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0944e487f92ed479da7db76f23ee071"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ae0944e487f92ed479da7db76f23ee071">InitEmptyTemplateTuple</a> ()</td></tr>
<tr class="separator:ae0944e487f92ed479da7db76f23ee071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d8305f32b9409b04ca086475a4571d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a7d8305f32b9409b04ca086475a4571d4">TransferToScanNodePool</a> (<a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>)</td></tr>
<tr class="memdesc:a7d8305f32b9409b04ca086475a4571d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquires all allocations from pool into scan_node_pool_. Thread-safe. <a href="#a7d8305f32b9409b04ca086475a4571d4">More...</a><br/></td></tr>
<tr class="separator:a7d8305f32b9409b04ca086475a4571d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0521140f7c60d795fb7bd2f44c42c9bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a0521140f7c60d795fb7bd2f44c42c9bf">GetFileDesc</a> (const std::string &amp;filename)</td></tr>
<tr class="memdesc:a0521140f7c60d795fb7bd2f44c42c9bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the file desc for 'filename'. Returns NULL if filename is invalid. <a href="#a0521140f7c60d795fb7bd2f44c42c9bf">More...</a><br/></td></tr>
<tr class="separator:a0521140f7c60d795fb7bd2f44c42c9bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adab35319d4dbff9af621387591a32c2c"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#adab35319d4dbff9af621387591a32c2c">GetFileMetadata</a> (const std::string &amp;filename)</td></tr>
<tr class="separator:adab35319d4dbff9af621387591a32c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3405cd6d94586c152efae17e6cfbd787"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a3405cd6d94586c152efae17e6cfbd787">SetFileMetadata</a> (const std::string &amp;filename, void *metadata)</td></tr>
<tr class="separator:a3405cd6d94586c152efae17e6cfbd787"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6193af89a13de0a3b8d45bc0e5cd288c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a6193af89a13de0a3b8d45bc0e5cd288c">RangeComplete</a> (const THdfsFileFormat::type &amp;file_type, const THdfsCompression::type &amp;compression_type)</td></tr>
<tr class="separator:a6193af89a13de0a3b8d45bc0e5cd288c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef9945c0276c71bd902644ff4d1be99b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#aef9945c0276c71bd902644ff4d1be99b">RangeComplete</a> (const THdfsFileFormat::type &amp;file_type, const std::vector&lt; THdfsCompression::type &gt; &amp;compression_type)</td></tr>
<tr class="separator:aef9945c0276c71bd902644ff4d1be99b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a061c78c1b6f80ef9b7f5ca9b7cfeb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a7a061c78c1b6f80ef9b7f5ca9b7cfeb2">ComputeSlotMaterializationOrder</a> (std::vector&lt; int &gt; *order) const </td></tr>
<tr class="separator:a7a061c78c1b6f80ef9b7f5ca9b7cfeb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ca204d2a88f9ff42c748274c70431f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a4ca204d2a88f9ff42c748274c70431f9">SetScanRanges</a> (const std::vector&lt; TScanRangeParams &gt; &amp;scan_range_params)</td></tr>
<tr class="separator:a4ca204d2a88f9ff42c748274c70431f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbdf97ab757ffe5ccdf37552d946d280"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#adbdf97ab757ffe5ccdf37552d946d280">IsScanNode</a> () const </td></tr>
<tr class="separator:adbdf97ab757ffe5ccdf37552d946d280"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e427c8caf4c9f75f08f0269f07d8c91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a1e427c8caf4c9f75f08f0269f07d8c91">bytes_read_counter</a> () const </td></tr>
<tr class="separator:a1e427c8caf4c9f75f08f0269f07d8c91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bbd4f0a432182ed56f766945645ce8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a8bbd4f0a432182ed56f766945645ce8c">rows_read_counter</a> () const </td></tr>
<tr class="separator:a8bbd4f0a432182ed56f766945645ce8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50f56df165715453106a2a60c5c96a2b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a50f56df165715453106a2a60c5c96a2b">read_timer</a> () const </td></tr>
<tr class="separator:a50f56df165715453106a2a60c5c96a2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb5d90596e4547f8773cd65fb6badccf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#afb5d90596e4547f8773cd65fb6badccf">total_throughput_counter</a> () const </td></tr>
<tr class="separator:afb5d90596e4547f8773cd65fb6badccf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac86067d7aea8e9818d55a613bb8e7a2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#ac86067d7aea8e9818d55a613bb8e7a2e">per_read_thread_throughput_counter</a> () const </td></tr>
<tr class="separator:ac86067d7aea8e9818d55a613bb8e7a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9747733e058642811606afc00529d332"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a9747733e058642811606afc00529d332">materialize_tuple_timer</a> () const </td></tr>
<tr class="separator:a9747733e058642811606afc00529d332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe152e2be9b5c94a2d071b4fc1c59ede"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#afe152e2be9b5c94a2d071b4fc1c59ede">scan_ranges_complete_counter</a> () const </td></tr>
<tr class="separator:afe152e2be9b5c94a2d071b4fc1c59ede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a980b55d52d4cff867f3096b705250357"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html">RuntimeProfile::ThreadCounters</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a980b55d52d4cff867f3096b705250357">scanner_thread_counters</a> () const </td></tr>
<tr class="separator:a980b55d52d4cff867f3096b705250357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae50dad878443ce70b115cd7caf7eda7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#aae50dad878443ce70b115cd7caf7eda7">active_scanner_thread_counter</a> ()</td></tr>
<tr class="separator:aae50dad878443ce70b115cd7caf7eda7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2d8985f082eb0f5be8f6d5527b659e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#aa2d8985f082eb0f5be8f6d5527b659e1">average_scanner_thread_concurrency</a> () const </td></tr>
<tr class="separator:aa2d8985f082eb0f5be8f6d5527b659e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13f30c4259774ce6896fa5c1d5d86966"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a13f30c4259774ce6896fa5c1d5d86966">Init</a> (const TPlanNode &amp;tnode)</td></tr>
<tr class="separator:a13f30c4259774ce6896fa5c1d5d86966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79a78df488ddcb12e0150b919efc059a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a79a78df488ddcb12e0150b919efc059a">CollectNodes</a> (TPlanNodeType::type node_type, std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt; *nodes)</td></tr>
<tr class="separator:a79a78df488ddcb12e0150b919efc059a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaf6b6a9dff1fd661e63258272c62b96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aeaf6b6a9dff1fd661e63258272c62b96">CollectScanNodes</a> (std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt; *nodes)</td></tr>
<tr class="memdesc:aeaf6b6a9dff1fd661e63258272c62b96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect all scan node types. <a href="#aeaf6b6a9dff1fd661e63258272c62b96">More...</a><br/></td></tr>
<tr class="separator:aeaf6b6a9dff1fd661e63258272c62b96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a56de50f3c92483ba38f6e42ab19cc0a2">DebugString</a> () const </td></tr>
<tr class="memdesc:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string representation in DFS order of the plan rooted at this. <a href="#a56de50f3c92483ba38f6e42ab19cc0a2">More...</a><br/></td></tr>
<tr class="separator:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad01139ec9ccb2cdb2069995bc282593b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ad01139ec9ccb2cdb2069995bc282593b">DebugString</a> (int indentation_level, std::stringstream *out) const </td></tr>
<tr class="separator:ad01139ec9ccb2cdb2069995bc282593b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad21c25a63f7a11127082710941d23654"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ad21c25a63f7a11127082710941d23654">conjunct_ctxs</a> () const </td></tr>
<tr class="separator:ad21c25a63f7a11127082710941d23654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2088a36bc4bb4e0c3c7c1444198b76dd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a2088a36bc4bb4e0c3c7c1444198b76dd">id</a> () const </td></tr>
<tr class="separator:a2088a36bc4bb4e0c3c7c1444198b76dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef75c686c9c11e8fcb9b21cfa74c442d"><td class="memItemLeft" align="right" valign="top">TPlanNodeType::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aef75c686c9c11e8fcb9b21cfa74c442d">type</a> () const </td></tr>
<tr class="separator:aef75c686c9c11e8fcb9b21cfa74c442d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a467297b1704ae33db61ae61d3400c35f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a467297b1704ae33db61ae61d3400c35f">row_desc</a> () const </td></tr>
<tr class="separator:a467297b1704ae33db61ae61d3400c35f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3a896c7e58304582acd34f662b4c72"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3f3a896c7e58304582acd34f662b4c72">rows_returned</a> () const </td></tr>
<tr class="separator:a3f3a896c7e58304582acd34f662b4c72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ff26374466bc587eaa4c7d00b3e126a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3ff26374466bc587eaa4c7d00b3e126a">ReachedLimit</a> ()</td></tr>
<tr class="separator:a3ff26374466bc587eaa4c7d00b3e126a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad062f28c78add1a869fffdab9419b09d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ad062f28c78add1a869fffdab9419b09d">runtime_profile</a> ()</td></tr>
<tr class="separator:ad062f28c78add1a869fffdab9419b09d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd7922a579e4adc353756849a0f45b48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#abd7922a579e4adc353756849a0f45b48">mem_tracker</a> ()</td></tr>
<tr class="separator:abd7922a579e4adc353756849a0f45b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe940aa2d7da783c4e8c65f0af22ad8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#abe940aa2d7da783c4e8c65f0af22ad8f">expr_mem_tracker</a> ()</td></tr>
<tr class="separator:abe940aa2d7da783c4e8c65f0af22ad8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a8ccdbe3afe3d3360261bd6babfea7bff"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a8ccdbe3afe3d3360261bd6babfea7bff">UpdateHdfsSplitStats</a> (const std::vector&lt; TScanRangeParams &gt; &amp;scan_range_params_list, <a class="el" href="classimpala_1_1HdfsScanNode.html#adc5104041e8113d244f775b8fd7a7280">PerVolumnStats</a> *per_volume_stats)</td></tr>
<tr class="memdesc:a8ccdbe3afe3d3360261bd6babfea7bff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the per volume stats with the given scan range params list. <a href="#a8ccdbe3afe3d3360261bd6babfea7bff">More...</a><br/></td></tr>
<tr class="separator:a8ccdbe3afe3d3360261bd6babfea7bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a896efeab03af639a6e42b425323f83c1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a896efeab03af639a6e42b425323f83c1">PrintHdfsSplitStats</a> (const <a class="el" href="classimpala_1_1HdfsScanNode.html#adc5104041e8113d244f775b8fd7a7280">PerVolumnStats</a> &amp;per_volume_stats, std::stringstream *ss)</td></tr>
<tr class="separator:a896efeab03af639a6e42b425323f83c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad99835d1957684b656d5f2d4427b5eb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aad99835d1957684b656d5f2d4427b5eb">CreateTree</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlan &amp;plan, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **root)</td></tr>
<tr class="separator:aad99835d1957684b656d5f2d4427b5eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39054faeb49a0adeeabb256106f456af"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a39054faeb49a0adeeabb256106f456af">SetDebugOptions</a> (int node_id, TExecNodePhase::type phase, TDebugAction::type action, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *tree)</td></tr>
<tr class="memdesc:a39054faeb49a0adeeabb256106f456af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set debug action for node with given id in 'tree'. <a href="#a39054faeb49a0adeeabb256106f456af">More...</a><br/></td></tr>
<tr class="separator:a39054faeb49a0adeeabb256106f456af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48ec693b9eb748682b58479751812f08"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a48ec693b9eb748682b58479751812f08">EvalConjuncts</a> (<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *const *ctxs, int num_ctxs, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr>
<tr class="separator:a48ec693b9eb748682b58479751812f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64bf8cb31a57b9d6dc3f5cd60066a686"><td class="memItemLeft" align="right" valign="top">static llvm::Function *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a64bf8cb31a57b9d6dc3f5cd60066a686">CodegenEvalConjuncts</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;<a class="el" href="classimpala_1_1ExecNode.html#ad21c25a63f7a11127082710941d23654">conjunct_ctxs</a>, const char *<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name</a>=&quot;EvalConjuncts&quot;)</td></tr>
<tr class="separator:a64bf8cb31a57b9d6dc3f5cd60066a686"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e2d144b60f904f6b1f3219b9471aad3"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3e2d144b60f904f6b1f3219b9471aad3">GetNodeIdFromProfile</a> (<a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> *p)</td></tr>
<tr class="memdesc:a3e2d144b60f904f6b1f3219b9471aad3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract node id from p-&gt;<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name()</a>. <a href="#a3e2d144b60f904f6b1f3219b9471aad3">More...</a><br/></td></tr>
<tr class="separator:a3e2d144b60f904f6b1f3219b9471aad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:ac6d4b9ccf63d7b36ff869d8e1230cc13"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ac6d4b9ccf63d7b36ff869d8e1230cc13">SKIP_COLUMN</a> = -1</td></tr>
<tr class="separator:ac6d4b9ccf63d7b36ff869d8e1230cc13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac76e401eb1573dbcaf0acf7607fa308e"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ac76e401eb1573dbcaf0acf7607fa308e">HDFS_SPLIT_STATS_DESC</a></td></tr>
<tr class="memdesc:ac76e401eb1573dbcaf0acf7607fa308e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Description string for the per volume stats output. <a href="#ac76e401eb1573dbcaf0acf7607fa308e">More...</a><br/></td></tr>
<tr class="separator:ac76e401eb1573dbcaf0acf7607fa308e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4314960f2bdc1735835e98330837b8b8"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a4314960f2bdc1735835e98330837b8b8">BYTES_READ_COUNTER</a> = &quot;BytesRead&quot;</td></tr>
<tr class="memdesc:a4314960f2bdc1735835e98330837b8b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">names of <a class="el" href="classimpala_1_1ScanNode.html" title="Abstract base class of all scan nodes; introduces SetScanRange(). ">ScanNode</a> common counters <a href="#a4314960f2bdc1735835e98330837b8b8">More...</a><br/></td></tr>
<tr class="separator:a4314960f2bdc1735835e98330837b8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51ac8959ad6f88862d981f8c12161e76"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a51ac8959ad6f88862d981f8c12161e76">ROWS_READ_COUNTER</a> = &quot;RowsRead&quot;</td></tr>
<tr class="separator:a51ac8959ad6f88862d981f8c12161e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1628dc30ae6fb5ee939dab75a9a3188"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#ab1628dc30ae6fb5ee939dab75a9a3188">TOTAL_HDFS_READ_TIMER</a> = &quot;TotalRawHdfsReadTime(*)&quot;</td></tr>
<tr class="separator:ab1628dc30ae6fb5ee939dab75a9a3188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ece8582bfd396fc1d3f1485ac2a7129"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a0ece8582bfd396fc1d3f1485ac2a7129">TOTAL_HBASE_READ_TIMER</a> = &quot;TotalRawHBaseReadTime(*)&quot;</td></tr>
<tr class="separator:a0ece8582bfd396fc1d3f1485ac2a7129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab56d0e228f9b992bf4eb15a24808be43"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#ab56d0e228f9b992bf4eb15a24808be43">TOTAL_THROUGHPUT_COUNTER</a> = &quot;TotalReadThroughput&quot;</td></tr>
<tr class="separator:ab56d0e228f9b992bf4eb15a24808be43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f56b81443bb1b8099b589ba1855d343"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a4f56b81443bb1b8099b589ba1855d343">PER_READ_THREAD_THROUGHPUT_COUNTER</a></td></tr>
<tr class="separator:a4f56b81443bb1b8099b589ba1855d343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a116d2bfc4460bc72e46ac1a8877d0063"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a116d2bfc4460bc72e46ac1a8877d0063">NUM_DISKS_ACCESSED_COUNTER</a> = &quot;NumDisksAccessed&quot;</td></tr>
<tr class="separator:a116d2bfc4460bc72e46ac1a8877d0063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af28cc61c75e0df2bb12409252ae1d9f2"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#af28cc61c75e0df2bb12409252ae1d9f2">MATERIALIZE_TUPLE_TIMER</a> = &quot;MaterializeTupleTime(*)&quot;</td></tr>
<tr class="separator:af28cc61c75e0df2bb12409252ae1d9f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d533cdcfa34c18ae02db91536e0d4c"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a86d533cdcfa34c18ae02db91536e0d4c">SCAN_RANGES_COMPLETE_COUNTER</a> = &quot;ScanRangesComplete&quot;</td></tr>
<tr class="separator:a86d533cdcfa34c18ae02db91536e0d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1fb21c0eebbd1facf10216991a35e3"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#aed1fb21c0eebbd1facf10216991a35e3">SCANNER_THREAD_COUNTERS_PREFIX</a> = &quot;ScannerThreads&quot;</td></tr>
<tr class="separator:aed1fb21c0eebbd1facf10216991a35e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2900a9f8c0b94bcee39cf76c8784c373"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a2900a9f8c0b94bcee39cf76c8784c373">SCANNER_THREAD_TOTAL_WALLCLOCK_TIME</a></td></tr>
<tr class="separator:a2900a9f8c0b94bcee39cf76c8784c373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62db63afa7d58a8566bd7fd95dee50ff"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a62db63afa7d58a8566bd7fd95dee50ff">AVERAGE_SCANNER_THREAD_CONCURRENCY</a></td></tr>
<tr class="separator:a62db63afa7d58a8566bd7fd95dee50ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a107068e0d20d1810ebb9390e89d41dda"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a107068e0d20d1810ebb9390e89d41dda">AVERAGE_HDFS_READ_THREAD_CONCURRENCY</a></td></tr>
<tr class="separator:a107068e0d20d1810ebb9390e89d41dda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab665916f0d8fc80d37fd92496746fe8b"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#ab665916f0d8fc80d37fd92496746fe8b">NUM_SCANNER_THREADS_STARTED</a></td></tr>
<tr class="separator:ab665916f0d8fc80d37fd92496746fe8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a514778516fb852eed80c2e98bf08fac2"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a514778516fb852eed80c2e98bf08fac2">ROW_THROUGHPUT_COUNTER</a> = &quot;RowsReturnedRate&quot;</td></tr>
<tr class="memdesc:a514778516fb852eed80c2e98bf08fac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Names of counters shared by all exec nodes. <a href="#a514778516fb852eed80c2e98bf08fac2">More...</a><br/></td></tr>
<tr class="separator:a514778516fb852eed80c2e98bf08fac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a1fb77c5926ec8ad015f153aabb190237"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a1fb77c5926ec8ad015f153aabb190237">child</a> (int i)</td></tr>
<tr class="separator:a1fb77c5926ec8ad015f153aabb190237"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a467751b7182365c83e867dc3d50b43e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a467751b7182365c83e867dc3d50b43e2">is_closed</a> ()</td></tr>
<tr class="separator:a467751b7182365c83e867dc3d50b43e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf07b8ec102e4bc7cc3707157c8f0e99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#adf07b8ec102e4bc7cc3707157c8f0e99">InitRuntimeProfile</a> (const std::string &amp;<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name</a>)</td></tr>
<tr class="separator:adf07b8ec102e4bc7cc3707157c8f0e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a310d3a6b28f5bb1046a90ef8995ffb12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a310d3a6b28f5bb1046a90ef8995ffb12">ExecDebugAction</a> (TExecNodePhase::type phase, <a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:a310d3a6b28f5bb1046a90ef8995ffb12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05e056b5d11b187a1d31723c7d1592eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a05e056b5d11b187a1d31723c7d1592eb">AddRuntimeExecOption</a> (const std::string &amp;option)</td></tr>
<tr class="memdesc:a05e056b5d11b187a1d31723c7d1592eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends option to 'runtime_exec_options_'. <a href="#a05e056b5d11b187a1d31723c7d1592eb">More...</a><br/></td></tr>
<tr class="separator:a05e056b5d11b187a1d31723c7d1592eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8f2832c6a5487aa8168b2a7d65773ee"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ab8f2832c6a5487aa8168b2a7d65773ee">QueryMaintenance</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:ab8f2832c6a5487aa8168b2a7d65773ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ad378d275c91637f12ca7fa742d59db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a4ad378d275c91637f12ca7fa742d59db">AddExprCtxToFree</a> (<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *ctx)</td></tr>
<tr class="separator:a4ad378d275c91637f12ca7fa742d59db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19340582202dd61e0b028c28efa5490a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a19340582202dd61e0b028c28efa5490a">AddExprCtxsToFree</a> (const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;ctxs)</td></tr>
<tr class="separator:a19340582202dd61e0b028c28efa5490a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa7de6fd3a4f1580884680c35b9b8804"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#afa7de6fd3a4f1580884680c35b9b8804">AddExprCtxsToFree</a> (const <a class="el" href="classimpala_1_1SortExecExprs.html">SortExecExprs</a> &amp;sort_exec_exprs)</td></tr>
<tr class="separator:afa7de6fd3a4f1580884680c35b9b8804"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:af055b7d9d3de849cbde01b12c608ee38"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#af055b7d9d3de849cbde01b12c608ee38">CreateNode</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlanNode &amp;tnode, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **node)</td></tr>
<tr class="memdesc:af055b7d9d3de849cbde01b12c608ee38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a single exec node derived from thrift node; place exec node in 'pool'. <a href="#af055b7d9d3de849cbde01b12c608ee38">More...</a><br/></td></tr>
<tr class="separator:af055b7d9d3de849cbde01b12c608ee38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d97c1b8247ed300dd82db66f38e7b00"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3d97c1b8247ed300dd82db66f38e7b00">CreateTreeHelper</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const std::vector&lt; TPlanNode &gt; &amp;tnodes, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *parent, int *node_idx, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **root)</td></tr>
<tr class="separator:a3d97c1b8247ed300dd82db66f38e7b00"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aa642d2e5f805e720e724bfa3dce1bc81"><td class="memItemLeft" align="right" valign="top">const std::vector<br class="typebreak"/>
&lt; TScanRangeParams &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#aa642d2e5f805e720e724bfa3dce1bc81">scan_range_params_</a></td></tr>
<tr class="memdesc:aa642d2e5f805e720e724bfa3dce1bc81"><td class="mdescLeft">&#160;</td><td class="mdescRight">The scan ranges this scan node is responsible for. Not owned. <a href="#aa642d2e5f805e720e724bfa3dce1bc81">More...</a><br/></td></tr>
<tr class="separator:aa642d2e5f805e720e724bfa3dce1bc81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a852e26d5e63c13b30b1f2c7d986838f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a852e26d5e63c13b30b1f2c7d986838f4">bytes_read_counter_</a></td></tr>
<tr class="separator:a852e26d5e63c13b30b1f2c7d986838f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ad7c54dcd92214281f21a2c7b524f9a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html">RuntimeProfile::TimeSeriesCounter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a2ad7c54dcd92214281f21a2c7b524f9a">bytes_read_timeseries_counter_</a></td></tr>
<tr class="memdesc:a2ad7c54dcd92214281f21a2c7b524f9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time series of the bytes_read_counter_. <a href="#a2ad7c54dcd92214281f21a2c7b524f9a">More...</a><br/></td></tr>
<tr class="separator:a2ad7c54dcd92214281f21a2c7b524f9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a0a7ff72596eee2c6863d62a4e73749"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a8a0a7ff72596eee2c6863d62a4e73749">rows_read_counter_</a></td></tr>
<tr class="memdesc:a8a0a7ff72596eee2c6863d62a4e73749"><td class="mdescLeft">&#160;</td><td class="mdescRight"><h1>rows/tuples read from the scanner (including those discarded by EvalConjucts())</h1>
<a href="#a8a0a7ff72596eee2c6863d62a4e73749">More...</a><br/></td></tr>
<tr class="separator:a8a0a7ff72596eee2c6863d62a4e73749"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a230df199438eeac9776358b9ebea0d63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a230df199438eeac9776358b9ebea0d63">read_timer_</a></td></tr>
<tr class="separator:a230df199438eeac9776358b9ebea0d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a905bbf0ce0777d28125ed94ea2f14fbf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a905bbf0ce0777d28125ed94ea2f14fbf">total_throughput_counter_</a></td></tr>
<tr class="memdesc:a905bbf0ce0777d28125ed94ea2f14fbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wall based aggregate read throughput [bytes/sec]. <a href="#a905bbf0ce0777d28125ed94ea2f14fbf">More...</a><br/></td></tr>
<tr class="separator:a905bbf0ce0777d28125ed94ea2f14fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40135ae832675ff6feca8bb198fc2ee1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a40135ae832675ff6feca8bb198fc2ee1">per_read_thread_throughput_counter_</a></td></tr>
<tr class="memdesc:a40135ae832675ff6feca8bb198fc2ee1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Per thread read throughput [bytes/sec]. <a href="#a40135ae832675ff6feca8bb198fc2ee1">More...</a><br/></td></tr>
<tr class="separator:a40135ae832675ff6feca8bb198fc2ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee32dbcc86bd092c4bf68ee783a4bab5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#aee32dbcc86bd092c4bf68ee783a4bab5">num_disks_accessed_counter_</a></td></tr>
<tr class="separator:aee32dbcc86bd092c4bf68ee783a4bab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b54308dfad8accbc1fb028d32b8b2b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#aa0b54308dfad8accbc1fb028d32b8b2b">materialize_tuple_timer_</a></td></tr>
<tr class="separator:aa0b54308dfad8accbc1fb028d32b8b2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52caf60333f4f60a19c7a31df81babcc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a52caf60333f4f60a19c7a31df81babcc">scan_ranges_complete_counter_</a></td></tr>
<tr class="separator:a52caf60333f4f60a19c7a31df81babcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5afafa887c1de83ccce1a4e4a0a33eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html">RuntimeProfile::ThreadCounters</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#ae5afafa887c1de83ccce1a4e4a0a33eb">scanner_thread_counters_</a></td></tr>
<tr class="memdesc:ae5afafa887c1de83ccce1a4e4a0a33eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregated scanner thread counters. <a href="#ae5afafa887c1de83ccce1a4e4a0a33eb">More...</a><br/></td></tr>
<tr class="separator:ae5afafa887c1de83ccce1a4e4a0a33eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa12010650a5eafd6ebeccb5fdd9e442a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#aa12010650a5eafd6ebeccb5fdd9e442a">active_scanner_thread_counter_</a></td></tr>
<tr class="memdesc:aa12010650a5eafd6ebeccb5fdd9e442a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of active scanner threads that are not blocked by IO. <a href="#aa12010650a5eafd6ebeccb5fdd9e442a">More...</a><br/></td></tr>
<tr class="separator:aa12010650a5eafd6ebeccb5fdd9e442a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae95ad9baabf5949f80050506af7478b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#ae95ad9baabf5949f80050506af7478b2">average_scanner_thread_concurrency_</a></td></tr>
<tr class="separator:ae95ad9baabf5949f80050506af7478b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a854c00138aabd7ca7774d4d67a594d3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a854c00138aabd7ca7774d4d67a594d3a">active_hdfs_read_thread_counter_</a></td></tr>
<tr class="memdesc:a854c00138aabd7ca7774d4d67a594d3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of active hdfs reading threads reading for this node. <a href="#a854c00138aabd7ca7774d4d67a594d3a">More...</a><br/></td></tr>
<tr class="separator:a854c00138aabd7ca7774d4d67a594d3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17db6484c22ecd4c0511e5e1c53f185c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a17db6484c22ecd4c0511e5e1c53f185c">average_hdfs_read_thread_concurrency_</a></td></tr>
<tr class="separator:a17db6484c22ecd4c0511e5e1c53f185c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30641df011a5d74c6c94788732d45c9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a30641df011a5d74c6c94788732d45c9c">num_scanner_threads_started_counter_</a></td></tr>
<tr class="separator:a30641df011a5d74c6c94788732d45c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00ea471438154ad56391ee19a39f12f0"><td class="memItemLeft" align="right" valign="top">std::vector<br class="typebreak"/>
&lt; <a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ScanNode.html#a00ea471438154ad56391ee19a39f12f0">hdfs_read_thread_concurrency_bucket_</a></td></tr>
<tr class="separator:a00ea471438154ad56391ee19a39f12f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d543ec055a04199286b52d23a82280f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a2d543ec055a04199286b52d23a82280f">id_</a></td></tr>
<tr class="separator:a2d543ec055a04199286b52d23a82280f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab86051ba57221a009063eda6e2aefd76"><td class="memItemLeft" align="right" valign="top">TPlanNodeType::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ab86051ba57221a009063eda6e2aefd76">type_</a></td></tr>
<tr class="separator:ab86051ba57221a009063eda6e2aefd76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac55aaa21c7750fd5f8774aee1ac5211a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ac55aaa21c7750fd5f8774aee1ac5211a">pool_</a></td></tr>
<tr class="separator:ac55aaa21c7750fd5f8774aee1ac5211a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5b4aff8e7b124468f2b61ca63b87ab5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ab5b4aff8e7b124468f2b61ca63b87ab5">children_</a></td></tr>
<tr class="separator:ab5b4aff8e7b124468f2b61ca63b87ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a900a9e0a75e9839f9c6d4658518944b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a900a9e0a75e9839f9c6d4658518944b8">row_descriptor_</a></td></tr>
<tr class="separator:a900a9e0a75e9839f9c6d4658518944b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76c55d45e1b55f82b83614898240adaf"><td class="memItemLeft" align="right" valign="top">TExecNodePhase::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a76c55d45e1b55f82b83614898240adaf">debug_phase_</a></td></tr>
<tr class="separator:a76c55d45e1b55f82b83614898240adaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08cd2dfda956999b3995caafe76190fd"><td class="memItemLeft" align="right" valign="top">TDebugAction::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a08cd2dfda956999b3995caafe76190fd">debug_action_</a></td></tr>
<tr class="separator:a08cd2dfda956999b3995caafe76190fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae41f912c39b004f60987b4d480e442b8"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ae41f912c39b004f60987b4d480e442b8">limit_</a></td></tr>
<tr class="separator:ae41f912c39b004f60987b4d480e442b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9789aeca3e98cda63998a8f47d355fd9"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a9789aeca3e98cda63998a8f47d355fd9">num_rows_returned_</a></td></tr>
<tr class="separator:a9789aeca3e98cda63998a8f47d355fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cab4e45a94527ff97333c0f280036f8"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a9cab4e45a94527ff97333c0f280036f8">runtime_profile_</a></td></tr>
<tr class="separator:a9cab4e45a94527ff97333c0f280036f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a632a4cdd4c654f362f630936c5ecb29a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a632a4cdd4c654f362f630936c5ecb29a">rows_returned_counter_</a></td></tr>
<tr class="separator:a632a4cdd4c654f362f630936c5ecb29a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fda03b2e215e5fac1352403ae737030"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a1fda03b2e215e5fac1352403ae737030">rows_returned_rate_</a></td></tr>
<tr class="separator:a1fda03b2e215e5fac1352403ae737030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba2362d7d1816b4f90f3e1f6768accd1"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aba2362d7d1816b4f90f3e1f6768accd1">mem_tracker_</a></td></tr>
<tr class="memdesc:aba2362d7d1816b4f90f3e1f6768accd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Account for peak memory used by this node. <a href="#aba2362d7d1816b4f90f3e1f6768accd1">More...</a><br/></td></tr>
<tr class="separator:aba2362d7d1816b4f90f3e1f6768accd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8574c9973af1609b90cef86ccc331141"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a8574c9973af1609b90cef86ccc331141">expr_mem_tracker_</a></td></tr>
<tr class="memdesc:a8574c9973af1609b90cef86ccc331141"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classimpala_1_1MemTracker.html" title="This class is thread-safe. ">MemTracker</a> that should be used for ExprContexts. <a href="#a8574c9973af1609b90cef86ccc331141">More...</a><br/></td></tr>
<tr class="separator:a8574c9973af1609b90cef86ccc331141"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa536e5c953d915df988c5bcbf24db9f4"><td class="memItemLeft" align="right" valign="top">boost::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aa536e5c953d915df988c5bcbf24db9f4">exec_options_lock_</a></td></tr>
<tr class="separator:aa536e5c953d915df988c5bcbf24db9f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e72d8a73cfdc5ab09f6bafcca6f8411"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a6e72d8a73cfdc5ab09f6bafcca6f8411">runtime_exec_options_</a></td></tr>
<tr class="separator:a6e72d8a73cfdc5ab09f6bafcca6f8411"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
Private Types</h2></td></tr>
<tr class="memitem:aa0371c03bcec2e667960172468f85a73"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, <br class="typebreak"/>
<a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#aa0371c03bcec2e667960172468f85a73">FileDescMap</a></td></tr>
<tr class="memdesc:aa0371c03bcec2e667960172468f85a73"><td class="mdescLeft">&#160;</td><td class="mdescRight">File path =&gt; file descriptor (which includes the file's splits) <a href="#aa0371c03bcec2e667960172468f85a73">More...</a><br/></td></tr>
<tr class="separator:aa0371c03bcec2e667960172468f85a73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c384d9e1e229911cc357c8bdbc47922"><td class="memItemLeft" align="right" valign="top">typedef std::map<br class="typebreak"/>
&lt; THdfsFileFormat::type, <br class="typebreak"/>
std::vector&lt; <a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a1c384d9e1e229911cc357c8bdbc47922">FileFormatsMap</a></td></tr>
<tr class="memdesc:a1c384d9e1e229911cc357c8bdbc47922"><td class="mdescLeft">&#160;</td><td class="mdescRight">File format =&gt; file descriptors. <a href="#a1c384d9e1e229911cc357c8bdbc47922">More...</a><br/></td></tr>
<tr class="separator:a1c384d9e1e229911cc357c8bdbc47922"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0430ab4b57e1f355c611fc141a69e07"><td class="memItemLeft" align="right" valign="top">typedef std::map<br class="typebreak"/>
&lt; THdfsFileFormat::type, <br class="typebreak"/>
<a class="el" href="classimpala_1_1HdfsScanner.html">HdfsScanner</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ac0430ab4b57e1f355c611fc141a69e07">ScannerMap</a></td></tr>
<tr class="separator:ac0430ab4b57e1f355c611fc141a69e07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4375070e4e1b3a2518b1a5be992cabb"><td class="memItemLeft" align="right" valign="top">typedef std::map<br class="typebreak"/>
&lt; THdfsFileFormat::type, void * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ac4375070e4e1b3a2518b1a5be992cabb">CodegendFnMap</a></td></tr>
<tr class="memdesc:ac4375070e4e1b3a2518b1a5be992cabb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Per scanner type codegen'd fn. <a href="#ac4375070e4e1b3a2518b1a5be992cabb">More...</a><br/></td></tr>
<tr class="separator:ac4375070e4e1b3a2518b1a5be992cabb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc6fdba50dd431c495316d84f3998614"><td class="memItemLeft" align="right" valign="top">typedef boost::unordered_map<br class="typebreak"/>
&lt; std::vector&lt; int &gt;, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#abc6fdba50dd431c495316d84f3998614">PathToSlotIdxMap</a></td></tr>
<tr class="memdesc:abc6fdba50dd431c495316d84f3998614"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps from a slot's path to its index into materialized_slots_. <a href="#abc6fdba50dd431c495316d84f3998614">More...</a><br/></td></tr>
<tr class="separator:abc6fdba50dd431c495316d84f3998614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b217f7eab6730e389a9ca9af118a3b6"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::pair<br class="typebreak"/>
&lt; THdfsFileFormat::type, <br class="typebreak"/>
THdfsCompression::type &gt;, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a7b217f7eab6730e389a9ca9af118a3b6">FileTypeCountsMap</a></td></tr>
<tr class="separator:a7b217f7eab6730e389a9ca9af118a3b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:aff162f338e73e753a8d04cdee31246e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#aff162f338e73e753a8d04cdee31246e5">ThreadTokenAvailableCb</a> (<a class="el" href="classimpala_1_1ThreadResourceMgr_1_1ResourcePool.html">ThreadResourceMgr::ResourcePool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>)</td></tr>
<tr class="separator:aff162f338e73e753a8d04cdee31246e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4207adb002ee06e3c3df340bfe5176a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsScanner.html">HdfsScanner</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a4207adb002ee06e3c3df340bfe5176a3">CreateAndPrepareScanner</a> (<a class="el" href="classimpala_1_1HdfsPartitionDescriptor.html">HdfsPartitionDescriptor</a> *partition_desc, <a class="el" href="classimpala_1_1ScannerContext.html">ScannerContext</a> *context, <a class="el" href="classimpala_1_1Status.html">Status</a> *status)</td></tr>
<tr class="separator:a4207adb002ee06e3c3df340bfe5176a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a070067d8d77f5d61fcdd3e2f66774a62"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a070067d8d77f5d61fcdd3e2f66774a62">ScannerThread</a> ()</td></tr>
<tr class="separator:a070067d8d77f5d61fcdd3e2f66774a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d28cb5a8e63d1e7ef4f8fc11138e65c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a4d28cb5a8e63d1e7ef4f8fc11138e65c">EnoughMemoryForScannerThread</a> (<a class="el" href="classbool.html">bool</a> new_thread)</td></tr>
<tr class="separator:a4d28cb5a8e63d1e7ef4f8fc11138e65c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a989c93325fcd5478f9c78ac23fc36cee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a989c93325fcd5478f9c78ac23fc36cee">GetNextInternal</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:a989c93325fcd5478f9c78ac23fc36cee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks for eos conditions and returns batches from materialized_row_batches_. <a href="#a989c93325fcd5478f9c78ac23fc36cee">More...</a><br/></td></tr>
<tr class="separator:a989c93325fcd5478f9c78ac23fc36cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9be5690e584ef1940004da01f85d7b31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a9be5690e584ef1940004da01f85d7b31">SetDone</a> ()</td></tr>
<tr class="separator:a9be5690e584ef1940004da01f85d7b31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a702a5dc48e4ccd0e9ea3199ee5c56e0b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a702a5dc48e4ccd0e9ea3199ee5c56e0b">StopAndFinalizeCounters</a> ()</td></tr>
<tr class="separator:a702a5dc48e4ccd0e9ea3199ee5c56e0b"><td class="memSeparator" colspan="2">&#160;</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:ac373fee18a1d5212b15430c3894eec0c"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; TPlanNode &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ac373fee18a1d5212b15430c3894eec0c">thrift_plan_node_</a></td></tr>
<tr class="separator:ac373fee18a1d5212b15430c3894eec0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9d54aba37c0dd0f969321bdb416bb6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ad9d54aba37c0dd0f969321bdb416bb6e">runtime_state_</a></td></tr>
<tr class="separator:ad9d54aba37c0dd0f969321bdb416bb6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32e89b2799d3cd38fc4dad00224b5163"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a32e89b2799d3cd38fc4dad00224b5163">tuple_id_</a></td></tr>
<tr class="memdesc:a32e89b2799d3cd38fc4dad00224b5163"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> id resolved in <a class="el" href="classimpala_1_1HdfsScanNode.html#a265b144314da1ba14edde43893493c0d" title="ExecNode methods. ">Prepare()</a> to set tuple_desc_;. <a href="#a32e89b2799d3cd38fc4dad00224b5163">More...</a><br/></td></tr>
<tr class="separator:a32e89b2799d3cd38fc4dad00224b5163"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1601b1dfcbb9cd167064ed90c258b1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1DiskIoMgr_1_1RequestContext.html">DiskIoMgr::RequestContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ab1601b1dfcbb9cd167064ed90c258b1f">reader_context_</a></td></tr>
<tr class="memdesc:ab1601b1dfcbb9cd167064ed90c258b1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">RequestContext object to use with the disk-io-mgr for reads. <a href="#ab1601b1dfcbb9cd167064ed90c258b1f">More...</a><br/></td></tr>
<tr class="separator:ab1601b1dfcbb9cd167064ed90c258b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af19f532386cf41d53a8ae23a846f8a7b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1TupleDescriptor.html">TupleDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#af19f532386cf41d53a8ae23a846f8a7b">tuple_desc_</a></td></tr>
<tr class="memdesc:af19f532386cf41d53a8ae23a846f8a7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor for tuples this scan node constructs. <a href="#af19f532386cf41d53a8ae23a846f8a7b">More...</a><br/></td></tr>
<tr class="separator:af19f532386cf41d53a8ae23a846f8a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad901cf20831c82d3e4de0b57be69b2bf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1HdfsTableDescriptor.html">HdfsTableDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ad901cf20831c82d3e4de0b57be69b2bf">hdfs_table_</a></td></tr>
<tr class="separator:ad901cf20831c82d3e4de0b57be69b2bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bdd3961f80bd4eaa94b5967b3214b5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a3bdd3961f80bd4eaa94b5967b3214b5f">unknown_disk_id_warned_</a></td></tr>
<tr class="separator:a3bdd3961f80bd4eaa94b5967b3214b5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af444c3702443d0b5aa625b2f8df66383"><td class="memItemLeft" align="right" valign="top">boost::unordered_set&lt; int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#af444c3702443d0b5aa625b2f8df66383">partition_ids_</a></td></tr>
<tr class="memdesc:af444c3702443d0b5aa625b2f8df66383"><td class="mdescLeft">&#160;</td><td class="mdescRight">Partitions scanned by this scan node. <a href="#af444c3702443d0b5aa625b2f8df66383">More...</a><br/></td></tr>
<tr class="separator:af444c3702443d0b5aa625b2f8df66383"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74b13953ea9d3088ce4759e8b2eae19a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsScanNode.html#aa0371c03bcec2e667960172468f85a73">FileDescMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a74b13953ea9d3088ce4759e8b2eae19a">file_descs_</a></td></tr>
<tr class="separator:a74b13953ea9d3088ce4759e8b2eae19a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab93bb6f89c7be5d1734683de7fb4f187"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsScanNode.html#a1c384d9e1e229911cc357c8bdbc47922">FileFormatsMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ab93bb6f89c7be5d1734683de7fb4f187">per_type_files_</a></td></tr>
<tr class="separator:ab93bb6f89c7be5d1734683de7fb4f187"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc4101dbe061d2baf01e663bf0827666"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#afc4101dbe061d2baf01e663bf0827666">initial_ranges_issued_</a></td></tr>
<tr class="separator:afc4101dbe061d2baf01e663bf0827666"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f43b5a5a502530c82e0fe164dc80ad7"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a9f43b5a5a502530c82e0fe164dc80ad7">scanner_thread_bytes_required_</a></td></tr>
<tr class="separator:a9f43b5a5a502530c82e0fe164dc80ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1db57d94bc4018fcb09cbe70468bb47"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1AtomicInt.html">AtomicInt</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ad1db57d94bc4018fcb09cbe70468bb47">num_unqueued_files_</a></td></tr>
<tr class="memdesc:ad1db57d94bc4018fcb09cbe70468bb47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of files that have not been issued from the scanners. <a href="#ad1db57d94bc4018fcb09cbe70468bb47">More...</a><br/></td></tr>
<tr class="separator:ad1db57d94bc4018fcb09cbe70468bb47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a77ba5cf7b82e286b4e384a9a4a8fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsScanNode.html#ac0430ab4b57e1f355c611fc141a69e07">ScannerMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a72a77ba5cf7b82e286b4e384a9a4a8fc">scanner_map_</a></td></tr>
<tr class="separator:a72a77ba5cf7b82e286b4e384a9a4a8fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7f252f793570d19d71ef0c59ddb6eef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsScanNode.html#ac4375070e4e1b3a2518b1a5be992cabb">CodegendFnMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ae7f252f793570d19d71ef0c59ddb6eef">codegend_fn_map_</a></td></tr>
<tr class="separator:ae7f252f793570d19d71ef0c59ddb6eef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e42cc1145e87bd01fcbb08b3963fbf8"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a3e42cc1145e87bd01fcbb08b3963fbf8">conjunct_ctxs_</a></td></tr>
<tr class="separator:a3e42cc1145e87bd01fcbb08b3963fbf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a127b325a03028a354511580f11bba31d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsScanNode.html#abc6fdba50dd431c495316d84f3998614">PathToSlotIdxMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a127b325a03028a354511580f11bba31d">path_to_materialized_slot_idx_</a></td></tr>
<tr class="separator:a127b325a03028a354511580f11bba31d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92415c71b4eb2375813f14dc5e863958"><td class="memItemLeft" align="right" valign="top">std::vector&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a92415c71b4eb2375813f14dc5e863958">is_materialized_col_</a></td></tr>
<tr class="separator:a92415c71b4eb2375813f14dc5e863958"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8c2ca9b6847e98d8e244045d11e6cf"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a3f8c2ca9b6847e98d8e244045d11e6cf">materialized_slots_</a></td></tr>
<tr class="separator:a3f8c2ca9b6847e98d8e244045d11e6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad42b3a29c6f2c9a993e5b23ba29ac8ac"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ad42b3a29c6f2c9a993e5b23ba29ac8ac">partition_key_slots_</a></td></tr>
<tr class="separator:ad42b3a29c6f2c9a993e5b23ba29ac8ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0251d57ef9bff48b95436210074207d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ProgressUpdater.html">ProgressUpdater</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a0251d57ef9bff48b95436210074207d3">progress_</a></td></tr>
<tr class="memdesc:a0251d57ef9bff48b95436210074207d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Keeps track of total splits and the number finished. <a href="#a0251d57ef9bff48b95436210074207d3">More...</a><br/></td></tr>
<tr class="separator:a0251d57ef9bff48b95436210074207d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e5bc2dfac6a939e33916170d3bd0ce9"><td class="memItemLeft" align="right" valign="top">boost::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a8e5bc2dfac6a939e33916170d3bd0ce9">metadata_lock_</a></td></tr>
<tr class="separator:a8e5bc2dfac6a939e33916170d3bd0ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf3405bb4186382f75ad04571c68f8aa"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, void * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#aaf3405bb4186382f75ad04571c68f8aa">per_file_metadata_</a></td></tr>
<tr class="separator:aaf3405bb4186382f75ad04571c68f8aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09ef012e32f510ba3d304f4aa6272e45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ThreadGroup.html">ThreadGroup</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a09ef012e32f510ba3d304f4aa6272e45">scanner_threads_</a></td></tr>
<tr class="memdesc:a09ef012e32f510ba3d304f4aa6272e45"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classimpala_1_1Thread.html" title="TODO: Consider allowing fragment IDs as category parameters. ">Thread</a> group for all scanner worker threads. <a href="#a09ef012e32f510ba3d304f4aa6272e45">More...</a><br/></td></tr>
<tr class="separator:a09ef012e32f510ba3d304f4aa6272e45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60f0a321960a9a4e7eea0ee391c9c609"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1ExecNode_1_1RowBatchQueue.html">RowBatchQueue</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a60f0a321960a9a4e7eea0ee391c9c609">materialized_row_batches_</a></td></tr>
<tr class="separator:a60f0a321960a9a4e7eea0ee391c9c609"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab71d9b6396bcb23c19121c55b4d614a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#aab71d9b6396bcb23c19121c55b4d614a">max_materialized_row_batches_</a></td></tr>
<tr class="memdesc:aab71d9b6396bcb23c19121c55b4d614a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum size of materialized_row_batches_. <a href="#aab71d9b6396bcb23c19121c55b4d614a">More...</a><br/></td></tr>
<tr class="separator:aab71d9b6396bcb23c19121c55b4d614a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fc97ba80ecdfc4bf37198de772d3f5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1AtomicInt.html">AtomicInt</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a8fc97ba80ecdfc4bf37198de772d3f5c">num_owned_io_buffers_</a></td></tr>
<tr class="separator:a8fc97ba80ecdfc4bf37198de772d3f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbd16700f4e92fdb1962a403bd85da27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1AtomicInt.html">AtomicInt</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#acbd16700f4e92fdb1962a403bd85da27">num_skipped_tokens_</a></td></tr>
<tr class="separator:acbd16700f4e92fdb1962a403bd85da27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a658528dff2574432a3475e0d2f78a055"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1AtomicInt.html">AtomicInt</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a658528dff2574432a3475e0d2f78a055">num_scanners_codegen_enabled_</a></td></tr>
<tr class="separator:a658528dff2574432a3475e0d2f78a055"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cb39ea4d1c5d642772bf2fc094c81d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1AtomicInt.html">AtomicInt</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a5cb39ea4d1c5d642772bf2fc094c81d8">num_scanners_codegen_disabled_</a></td></tr>
<tr class="separator:a5cb39ea4d1c5d642772bf2fc094c81d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad47ca48f0333ef0fb46b8b121dc05ee6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html">RuntimeProfile::HighWaterMarkCounter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ad47ca48f0333ef0fb46b8b121dc05ee6">max_compressed_text_file_length_</a></td></tr>
<tr class="separator:ad47ca48f0333ef0fb46b8b121dc05ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a304fafe6def2c0514985b7a04f96d963"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a304fafe6def2c0514985b7a04f96d963">disks_accessed_bitmap_</a></td></tr>
<tr class="memdesc:a304fafe6def2c0514985b7a04f96d963"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disk accessed bitmap. <a href="#a304fafe6def2c0514985b7a04f96d963">More...</a><br/></td></tr>
<tr class="separator:a304fafe6def2c0514985b7a04f96d963"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb45aa3eeb7c9213fb1e809bccc51c38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#afb45aa3eeb7c9213fb1e809bccc51c38">bytes_read_local_</a></td></tr>
<tr class="memdesc:afb45aa3eeb7c9213fb1e809bccc51c38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of bytes read locally. <a href="#afb45aa3eeb7c9213fb1e809bccc51c38">More...</a><br/></td></tr>
<tr class="separator:afb45aa3eeb7c9213fb1e809bccc51c38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c972b92951c67686c0783ca2c554d2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a9c972b92951c67686c0783ca2c554d2d">bytes_read_short_circuit_</a></td></tr>
<tr class="memdesc:a9c972b92951c67686c0783ca2c554d2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of bytes read via short circuit read. <a href="#a9c972b92951c67686c0783ca2c554d2d">More...</a><br/></td></tr>
<tr class="separator:a9c972b92951c67686c0783ca2c554d2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fab7b12afe81d6912442bef2d8131d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a9fab7b12afe81d6912442bef2d8131d4">bytes_read_dn_cache_</a></td></tr>
<tr class="memdesc:a9fab7b12afe81d6912442bef2d8131d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of bytes read from data node cache. <a href="#a9fab7b12afe81d6912442bef2d8131d4">More...</a><br/></td></tr>
<tr class="separator:a9fab7b12afe81d6912442bef2d8131d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ccd8c0369afce6502d98f04dc8e08ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a7ccd8c0369afce6502d98f04dc8e08ea">num_remote_ranges_</a></td></tr>
<tr class="memdesc:a7ccd8c0369afce6502d98f04dc8e08ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of remote scan ranges. <a href="#a7ccd8c0369afce6502d98f04dc8e08ea">More...</a><br/></td></tr>
<tr class="separator:a7ccd8c0369afce6502d98f04dc8e08ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac80894a195ac409e4bd10f004cc9dfb4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#ac80894a195ac409e4bd10f004cc9dfb4">unexpected_remote_bytes_</a></td></tr>
<tr class="memdesc:ac80894a195ac409e4bd10f004cc9dfb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of bytes read remotely that were expected to be local. <a href="#ac80894a195ac409e4bd10f004cc9dfb4">More...</a><br/></td></tr>
<tr class="separator:ac80894a195ac409e4bd10f004cc9dfb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd87b83ac93c6f0c6527834cd6ca20ff"><td class="memItemLeft" align="right" valign="top">boost::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#abd87b83ac93c6f0c6527834cd6ca20ff">lock_</a></td></tr>
<tr class="separator:abd87b83ac93c6f0c6527834cd6ca20ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a580fe2c16160fddc4cb49db528fedd79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a580fe2c16160fddc4cb49db528fedd79">done_</a></td></tr>
<tr class="separator:a580fe2c16160fddc4cb49db528fedd79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabe5624b63a44f5262f4bf2cbbfed3c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#aabe5624b63a44f5262f4bf2cbbfed3c0">all_ranges_started_</a></td></tr>
<tr class="separator:aabe5624b63a44f5262f4bf2cbbfed3c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f972231e2cb705cfbaa14c7290923c6"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1MemPool.html">MemPool</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a8f972231e2cb705cfbaa14c7290923c6">scan_node_pool_</a></td></tr>
<tr class="separator:a8f972231e2cb705cfbaa14c7290923c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79a5cce2cd5ab6e165bed160988ea6e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a79a5cce2cd5ab6e165bed160988ea6e5">status_</a></td></tr>
<tr class="separator:a79a5cce2cd5ab6e165bed160988ea6e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a718797e4e5fe972c8b398e011f2077a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1SpinLock.html">SpinLock</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a718797e4e5fe972c8b398e011f2077a0">file_type_counts_lock_</a></td></tr>
<tr class="separator:a718797e4e5fe972c8b398e011f2077a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a542d120245f434d86664d7bf6aad74d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsScanNode.html#a7b217f7eab6730e389a9ca9af118a3b6">FileTypeCountsMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a542d120245f434d86664d7bf6aad74d6">file_type_counts_</a></td></tr>
<tr class="separator:a542d120245f434d86664d7bf6aad74d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe7c2af2d420e7bffa13986bb2886892"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#abe7c2af2d420e7bffa13986bb2886892">counters_running_</a></td></tr>
<tr class="separator:abe7c2af2d420e7bffa13986bb2886892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10a9ceb6d7fcd9bbfe6c4217ba5b7081"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a10a9ceb6d7fcd9bbfe6c4217ba5b7081">rm_callback_id_</a></td></tr>
<tr class="separator:a10a9ceb6d7fcd9bbfe6c4217ba5b7081"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a18a23532ddeb0ae53093207992bb5611"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanNode.html#a18a23532ddeb0ae53093207992bb5611">ScannerContext</a></td></tr>
<tr class="separator:a18a23532ddeb0ae53093207992bb5611"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A <a class="el" href="classimpala_1_1ScanNode.html" title="Abstract base class of all scan nodes; introduces SetScanRange(). ">ScanNode</a> implementation that is used for all tables read directly from HDFS-serialised data. A <a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> spawns multiple scanner threads to process the bytes in parallel. There is a handshake between the scan node and the scanners to get all the splits queued and bytes processed.</p>
<ol type="1">
<li>The scan node initially calls the Scanner with a list of files and splits for that scanner/file format.</li>
<li>The scanner issues the initial byte ranges for each of those files. For text this is simply the entire range but for rc files, this would just be the header byte range. The scan node doesn't care either way.</li>
<li>The scan node spins up a number of scanner threads. Each of those threads pulls the next scan range to work on from the IoMgr and then processes the range end to end.</li>
<li>The scanner processes the buffers, issuing more scan ranges if necessary.</li>
<li>The scanner finishes the scan range and informs the scan node so it can track end of stream. TODO: this class allocates a bunch of small utility objects that should be recycled. </li>
</ol>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00104">104</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="ac4375070e4e1b3a2518b1a5be992cabb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;THdfsFileFormat::type, void*&gt; <a class="el" href="classimpala_1_1HdfsScanNode.html#ac4375070e4e1b3a2518b1a5be992cabb">impala::HdfsScanNode::CodegendFnMap</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>Per scanner type codegen'd fn. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00323">323</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa0371c03bcec2e667960172468f85a73"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;std::string, <a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a>*&gt; <a class="el" href="classimpala_1_1HdfsScanNode.html#aa0371c03bcec2e667960172468f85a73">impala::HdfsScanNode::FileDescMap</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>File path =&gt; file descriptor (which includes the file's splits) </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00297">297</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1c384d9e1e229911cc357c8bdbc47922"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;THdfsFileFormat::type, std::vector&lt;<a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a>*&gt; &gt; <a class="el" href="classimpala_1_1HdfsScanNode.html#a1c384d9e1e229911cc357c8bdbc47922">impala::HdfsScanNode::FileFormatsMap</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>File format =&gt; file descriptors. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00301">301</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
</div>
</div>
<a class="anchor" id="a7b217f7eab6730e389a9ca9af118a3b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt; std::pair&lt;THdfsFileFormat::type, THdfsCompression::type&gt;, int&gt; <a class="el" href="classimpala_1_1HdfsScanNode.html#a7b217f7eab6730e389a9ca9af118a3b6">impala::HdfsScanNode::FileTypeCountsMap</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>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00433">433</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
</div>
</div>
<a class="anchor" id="abc6fdba50dd431c495316d84f3998614"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef boost::unordered_map&lt;std::vector&lt;int&gt;, int&gt; <a class="el" href="classimpala_1_1HdfsScanNode.html#abc6fdba50dd431c495316d84f3998614">impala::HdfsScanNode::PathToSlotIdxMap</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>Maps from a slot's path to its index into materialized_slots_. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00331">331</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
</div>
</div>
<a class="anchor" id="adc5104041e8113d244f775b8fd7a7280"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef boost::unordered_map&lt;int32_t, std::pair&lt;int, int64_t&gt; &gt; <a class="el" href="classimpala_1_1HdfsScanNode.html#adc5104041e8113d244f775b8fd7a7280">impala::HdfsScanNode::PerVolumnStats</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>map from volume id to &lt;number of split, per volume split lengths&gt; </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00252">252</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac0430ab4b57e1f355c611fc141a69e07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;THdfsFileFormat::type, <a class="el" href="classimpala_1_1HdfsScanner.html">HdfsScanner</a>*&gt; <a class="el" href="classimpala_1_1HdfsScanNode.html#ac0430ab4b57e1f355c611fc141a69e07">impala::HdfsScanNode::ScannerMap</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>Map of <a class="el" href="classimpala_1_1HdfsScanner.html">HdfsScanner</a> objects to file types. Only one scanner object will be created for each file type. Objects stored in runtime_state's pool. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00319">319</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a867dc70e19ceceff248b6848d426e643"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">HdfsScanNode::HdfsScanNode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TPlanNode &amp;&#160;</td>
<td class="paramname"><em>tnode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;&#160;</td>
<td class="paramname"><em>descs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00081">81</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00363">materialized_row_batches_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00366">max_materialized_row_batches_</a>, <a class="el" href="disk-info_8h_source.html#l00038">impala::DiskInfo::num_disks()</a>, and <a class="el" href="disk-io-mgr_8h_source.html#l00625">impala::DiskIoMgr::REMOTE_NUM_DISKS</a>.</p>
</div>
</div>
<a class="anchor" id="aa866fb84b4cee4e924854e1eb03bbb63"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">HdfsScanNode::~HdfsScanNode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00108">108</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aae50dad878443ce70b115cd7caf7eda7"></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>&amp; impala::ScanNode::active_scanner_thread_counter </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="scan-node_8h_source.html#l00113">113</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00157">impala::ScanNode::active_scanner_thread_counter_</a>.</p>
</div>
</div>
<a class="anchor" id="afe9bc42ad3846bde9f7113e5f1c133dc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::HdfsScanNode::AddDiskIoRanges </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classimpala_1_1DiskIoMgr_1_1ScanRange.html">DiskIoMgr::ScanRange</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>ranges</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds ranges to the io mgr queue and starts up new scanner threads if possible. </p>
<p>Referenced by <a class="el" href="base-sequence-scanner_8cc_source.html#l00040">impala::BaseSequenceScanner::IssueInitialRanges()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00067">impala::HdfsTextScanner::IssueInitialRanges()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00083">impala::HdfsParquetScanner::IssueInitialRanges()</a>, and <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>.</p>
</div>
</div>
<a class="anchor" id="a0db01a0c4d71cd43de871e55a961155d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> HdfsScanNode::AddDiskIoRanges </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> *&#160;</td>
<td class="paramname"><em>file_desc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds all splits for file_desc to the io mgr queue. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00674">674</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="disk-io-mgr_8cc_source.html#l00455">impala::DiskIoMgr::AddScanRanges()</a>, <a class="el" href="runtime-state_8h_source.html#l00139">impala::RuntimeState::io_mgr()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00683">MarkFileDescIssued()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00280">reader_context_</a>, <a class="el" href="runtime-state_8h_source.html#l00142">impala::RuntimeState::resource_pool()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00070">impala::HdfsFileDesc::splits</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="a19340582202dd61e0b028c28efa5490a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::AddExprCtxsToFree </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>ctxs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00410">impala::ExecNode::AddExprCtxsToFree()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="afa7de6fd3a4f1580884680c35b9b8804"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::AddExprCtxsToFree </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classimpala_1_1SortExecExprs.html">SortExecExprs</a> &amp;&#160;</td>
<td class="paramname"><em>sort_exec_exprs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00410">410</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="classimpala_1_1ExecNode.html#a19340582202dd61e0b028c28efa5490a">impala::ExecNode::AddExprCtxsToFree()</a>, <a class="el" href="sort-exec-exprs_8h_source.html#l00055">impala::SortExecExprs::lhs_ordering_expr_ctxs()</a>, <a class="el" href="sort-exec-exprs_8h_source.html#l00059">impala::SortExecExprs::rhs_ordering_expr_ctxs()</a>, and <a class="el" href="sort-exec-exprs_8h_source.html#l00050">impala::SortExecExprs::sort_tuple_slot_expr_ctxs()</a>.</p>
</div>
</div>
<a class="anchor" id="a4ad378d275c91637f12ca7fa742d59db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::AddExprCtxToFree </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add an <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> to have its local allocations freed by <a class="el" href="classimpala_1_1ExecNode.html#ab8f2832c6a5487aa8168b2a7d65773ee">QueryMaintenance()</a>. Exprs that are evaluated in the main execution thread should be added. Exprs evaluated in a separate thread are generally not safe to add, since a local allocation may be freed while it's being used. Rather than using this mechanism, threads should call FreeLocalAllocations() on local ExprContexts periodically. </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00276">276</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00286">impala::ExecNode::expr_ctxs_to_free_</a>.</p>
<p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a55e38d04080295725416c3ab2fcb8338"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::AddMaterializedRowBatch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *&#160;</td>
<td class="paramname"><em>row_batch</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a materialized row batch for the scan node. This is called from scanner threads. This function will block if materialized_row_batches_ is full. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00688">688</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00363">materialized_row_batches_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00145">impala::HdfsScanner::AddFinalRowBatch()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>.</p>
</div>
</div>
<a class="anchor" id="a05e056b5d11b187a1d31723c7d1592eb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::AddRuntimeExecOption </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>option</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Appends option to 'runtime_exec_options_'. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00188">188</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="runtime-profile_8cc_source.html#l00406">impala::RuntimeProfile::AddInfoString()</a>, <a class="el" href="exec-node_8h_source.html#l00238">impala::ExecNode::exec_options_lock_</a>, <a class="el" href="exec-node_8h_source.html#l00239">impala::ExecNode::runtime_exec_options_</a>, and <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>.</p>
<p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00400">impala::PartitionedHashJoinNode::AttachProbeFilters()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">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">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a5314b840efa7625e54ce930ee1986bb1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1DiskIoMgr_1_1ScanRange.html">DiskIoMgr::ScanRange</a> * HdfsScanNode::AllocateScanRange </td>
<td>(</td>
<td class="paramtype">hdfsFS&#160;</td>
<td class="paramname"><em>fs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>file</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>partition_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>disk_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbool.html">bool</a>&#160;</td>
<td class="paramname"><em>try_cache</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbool.html">bool</a>&#160;</td>
<td class="paramname"><em>expected_local</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>mtime</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocate a new scan range object, stored in the runtime state's object pool. For scan ranges that correspond to the original hdfs splits, the partition id must be set to the range's partition id. For other ranges (e.g. columns in parquet, read past buffers), the partition_id is unused. expected_local should be true if this scan range is not expected to require a remote read. The range must fall within the file bounds. That is, the offset must be &gt;= 0, and offset + len &lt;= file_length. This is thread safe. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00183">183</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l01116">impala::DiskIoMgr::AssignQueue()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00206">GetFileDesc()</a>, <a class="el" href="runtime-state_8h_source.html#l00139">impala::RuntimeState::io_mgr()</a>, <a class="el" href="runtime-state_8h_source.html#l00092">impala::RuntimeState::obj_pool()</a>, <a class="el" href="disk-io-mgr-scan-range_8cc_source.html#l00215">impala::DiskIoMgr::ScanRange::Reset()</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01093">impala::HdfsParquetScanner::InitColumns()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00040">impala::BaseSequenceScanner::IssueInitialRanges()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00067">impala::HdfsTextScanner::IssueInitialRanges()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00083">impala::HdfsParquetScanner::IssueInitialRanges()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00916">impala::HdfsParquetScanner::ProcessFooter()</a>.</p>
</div>
</div>
<a class="anchor" id="aa2d8985f082eb0f5be8f6d5527b659e1"></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::ScanNode::average_scanner_thread_concurrency </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="scan-node_8h_source.html#l00116">116</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00161">impala::ScanNode::average_scanner_thread_concurrency_</a>.</p>
</div>
</div>
<a class="anchor" id="a1e427c8caf4c9f75f08f0269f07d8c91"></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::ScanNode::bytes_read_counter </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="scan-node_8h_source.html#l00095">95</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00140">impala::ScanNode::bytes_read_counter_</a>.</p>
<p>Referenced by <a class="el" href="hbase-table-scanner_8cc_source.html#l00589">impala::HBaseTableScanner::GetFamily()</a>, <a class="el" href="hbase-table-scanner_8cc_source.html#l00600">impala::HBaseTableScanner::GetQualifier()</a>, <a class="el" href="hbase-table-scanner_8cc_source.html#l00578">impala::HBaseTableScanner::GetRowKey()</a>, <a class="el" href="hbase-table-scanner_8cc_source.html#l00611">impala::HBaseTableScanner::GetValue()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a1fb77c5926ec8ad015f153aabb190237"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a>* impala::ExecNode::child </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00241">241</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00133">impala::CrossJoinNode::BuildListDebugString()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00136">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">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">impala::PartitionedHashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00222">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">impala::PartitionedHashJoinNode::NextProbeRowBatch()</a>, <a class="el" href="select-node_8cc_source.html#l00042">impala::SelectNode::Open()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">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">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00525">impala::AnalyticEvalNode::ProcessChildBatches()</a>, and <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>.</p>
</div>
</div>
<a class="anchor" id="ace07ac96df8e9b8ac2991c142cbc24c0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::Close </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> will get called for every exec node, regardless of what else is called and the status of these calls (i.e. <a class="el" href="classimpala_1_1HdfsScanNode.html#a265b144314da1ba14edde43893493c0d" title="ExecNode methods. ">Prepare()</a> may never have been called, or <a class="el" href="classimpala_1_1HdfsScanNode.html#a265b144314da1ba14edde43893493c0d" title="ExecNode methods. ">Prepare()</a>/Open()/GetNext() returned with an error). <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> releases all resources that were allocated in <a class="el" href="classimpala_1_1HdfsScanNode.html#a39c0718de7bdd2bff19c97dc1eb5bdaa">Open()</a>/GetNext(), even if the latter ended with an error. <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> can be called if the node has been prepared or the node is closed. The default implementation updates runtime profile counters and calls <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> on the children. Subclasses should check if the node has already been closed (<a class="el" href="classimpala_1_1ExecNode.html#a467751b7182365c83e867dc3d50b43e2">is_closed()</a>), then close themselves, then call the base <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a>. Nodes that are using tuples returned by a child may call <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> on their children before their own <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> if the child node has returned eos. It is only safe to call <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> on the child node while the parent node is still returning rows if the parent node fully materializes the child's input. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#a726e2aca524ace8e4c043377e621285a">impala::ExecNode</a>.</p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">622</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00164">impala::ScanNode::active_hdfs_read_thread_counter_</a>, <a class="el" href="scan-node_8h_source.html#l00157">impala::ScanNode::active_scanner_thread_counter_</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00377">impala::DiskIoMgr::CancelContext()</a>, <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="classimpala_1_1Expr.html#a70300b0ba7c91fddb9adfaeb0dfc09a5">impala::Expr::Close()</a>, <a class="el" href="descriptors_8cc_source.html#l00151">impala::HdfsPartitionDescriptor::CloseExprs()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00328">conjunct_ctxs_</a>, <a class="el" href="descriptors_8h_source.html#l00238">impala::HdfsTableDescriptor::GetPartition()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00287">hdfs_table_</a>, <a class="el" href="runtime-state_8h_source.html#l00139">impala::RuntimeState::io_mgr()</a>, <a class="el" href="exec-node_8h_source.html#l00242">impala::ExecNode::is_closed()</a>, <a class="el" href="thread_8cc_source.html#l00327">impala::ThreadGroup::JoinAll()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00363">materialized_row_batches_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00371">num_owned_io_buffers_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00294">partition_ids_</a>, <a class="el" href="runtime-state_8h_source.html#l00269">impala::RuntimeState::query_resource_mgr()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00280">reader_context_</a>, <a class="el" href="runtime-state_8h_source.html#l00145">impala::RuntimeState::reader_contexts()</a>, <a class="el" href="query-resource-mgr_8cc_source.html#l00154">impala::QueryResourceMgr::RemoveVcoreAvailableCb()</a>, <a class="el" href="runtime-state_8h_source.html#l00142">impala::RuntimeState::resource_pool()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00442">rm_callback_id_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00421">scan_node_pool_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00359">scanner_threads_</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, <a class="el" href="thread-resource-mgr_8cc_source.html#l00090">impala::ThreadResourceMgr::ResourcePool::SetThreadAvailableCb()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>, and <a class="el" href="runtime-profile_8h_source.html#l00108">impala::RuntimeProfile::Counter::value()</a>.</p>
</div>
</div>
<a class="anchor" id="a64bf8cb31a57b9d6dc3f5cd60066a686"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Function * impala::ExecNode::CodegenEvalConjuncts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>conjunct_ctxs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em> = <code>&quot;EvalConjuncts&quot;</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a codegen'd version of <a class="el" href="classimpala_1_1ExecNode.html#a48ec693b9eb748682b58479751812f08">EvalConjuncts()</a>, or NULL if the function couldn't be codegen'd. The codegen'd version uses inlined, codegen'd GetBooleanVal() functions. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00452">452</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="llvm-codegen_8h_source.html#l00171">impala::LlvmCodeGen::FnPrototype::AddArgument()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00214">impala::LlvmCodeGen::context()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00148">impala::CodegenAnyVal::CreateCallWrapped()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00381">impala::LlvmCodeGen::false_value()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00596">impala::LlvmCodeGen::FinalizeFunction()</a>, <a class="el" href="runtime-state_8cc_source.html#l00312">impala::RuntimeState::GetCodegen()</a>, <a class="el" href="status_8cc_source.html#l00184">impala::Status::GetDetail()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00171">impala::CodegenAnyVal::GetIsNull()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00312">impala::LlvmCodeGen::GetType()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00258">impala::CodegenAnyVal::GetVal()</a>, <a class="el" href="tuple-row_8h_source.html#l00076">impala::TupleRow::LLVM_CLASS_NAME</a>, <a class="el" href="expr-context_8h_source.html#l00126">impala::ExprContext::LLVM_CLASS_NAME</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00380">impala::LlvmCodeGen::true_value()</a>, <a class="el" href="exec-node_8h_source.html#l00155">impala::ExecNode::type()</a>, <a class="el" href="types_8h_source.html#l00030">impala::TYPE_BOOLEAN</a>, <a class="el" href="types_8h_source.html#l00033">impala::TYPE_INT</a>, and <a class="el" href="logging_8h_source.html#l00057">VLOG_QUERY</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00885">impala::HdfsAvroScanner::CodegenDecodeAvroData()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00559">impala::HashJoinNode::CodegenProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">impala::PartitionedHashJoinNode::CodegenProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a79a78df488ddcb12e0150b919efc059a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::CollectNodes </td>
<td>(</td>
<td class="paramtype">TPlanNodeType::type&#160;</td>
<td class="paramname"><em>node_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt; *&#160;</td>
<td class="paramname"><em>nodes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect all nodes of given 'node_type' that are part of this subtree, and return in 'nodes'. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00359">359</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>, and <a class="el" href="exec-node_8h_source.html#l00210">impala::ExecNode::type_</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00366">impala::ExecNode::CollectScanNodes()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="aeaf6b6a9dff1fd661e63258272c62b96"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::CollectScanNodes </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt; *&#160;</td>
<td class="paramname"><em>nodes</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect all scan node types. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00366">366</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8cc_source.html#l00359">impala::ExecNode::CollectNodes()</a>.</p>
<p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a7a061c78c1b6f80ef9b7f5ca9b7cfeb2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::ComputeSlotMaterializationOrder </td>
<td>(</td>
<td class="paramtype">std::vector&lt; int &gt; *&#160;</td>
<td class="paramname"><em>order</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Utility function to compute the order in which to materialize slots to allow for computing conjuncts as slots get materialized (on partial tuples). 'order' will contain for each slot, the first conjunct it is associated with. e.g. order[2] = 1 indicates materialized_slots[2] must be materialized before evaluating conjuncts[1]. Slots that are not referenced by any conjuncts will have order set to conjuncts.size() </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00956">956</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00085">impala::SlotDescriptor::col_path()</a>, <a class="el" href="exec-node_8h_source.html#l00152">impala::ExecNode::conjunct_ctxs()</a>, <a class="el" href="runtime-state_8h_source.html#l00093">impala::RuntimeState::desc_tbl()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00152">GetMaterializedSlotIdx()</a>, <a class="el" href="descriptors_8cc_source.html#l00447">impala::DescriptorTbl::GetSlotDescriptor()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00119">materialized_slots()</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>.</p>
</div>
</div>
<a class="anchor" id="ad21c25a63f7a11127082710941d23654"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*&gt;&amp; impala::ExecNode::conjunct_ctxs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00152">152</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00212">impala::ExecNode::conjunct_ctxs_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00956">ComputeSlotMaterializationOrder()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a4207adb002ee06e3c3df340bfe5176a3"></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_1HdfsScanner.html">HdfsScanner</a> * HdfsScanNode::CreateAndPrepareScanner </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsPartitionDescriptor.html">HdfsPartitionDescriptor</a> *&#160;</td>
<td class="paramname"><em>partition_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ScannerContext.html">ScannerContext</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1Status.html">Status</a> *&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create and prepare new scanner for this partition type. If the scanner cannot be created, return NULL. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00230">230</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00067">impala::HdfsFileDesc::file_compression</a>, <a class="el" href="scanner-context_8h_source.html#l00120">impala::ScannerContext::Stream::file_desc()</a>, <a class="el" href="descriptors_8h_source.html#l00184">impala::HdfsPartitionDescriptor::file_format()</a>, <a class="el" href="hdfs-lzo-text-scanner_8cc_source.html#l00050">impala::HdfsLzoTextScanner::GetHdfsLzoTextScanner()</a>, <a class="el" href="scanner-context_8h_source.html#l00246">impala::ScannerContext::GetStream()</a>, <a class="el" href="runtime-state_8h_source.html#l00092">impala::RuntimeState::obj_pool()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>.</p>
</div>
</div>
<a class="anchor" id="af055b7d9d3de849cbde01b12c608ee38"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::CreateNode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TPlanNode &amp;&#160;</td>
<td class="paramname"><em>tnode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;&#160;</td>
<td class="paramname"><em>descs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **&#160;</td>
<td class="paramname"><em>node</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a single exec node derived from thrift node; place exec node in 'pool'. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00260">260</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>.</p>
</div>
</div>
<a class="anchor" id="aad99835d1957684b656d5f2d4427b5eb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::CreateTree </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TPlan &amp;&#160;</td>
<td class="paramname"><em>plan</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;&#160;</td>
<td class="paramname"><em>descs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **&#160;</td>
<td class="paramname"><em>root</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates exec node tree from list of nodes contained in plan via depth-first traversal. All nodes are placed in pool. Returns error if 'plan' is corrupted, otherwise success. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00199">199</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, and <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>.</p>
<p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a3d97c1b8247ed300dd82db66f38e7b00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::CreateTreeHelper </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; TPlanNode &gt; &amp;&#160;</td>
<td class="paramname"><em>tnodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;&#160;</td>
<td class="paramname"><em>descs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>node_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **&#160;</td>
<td class="paramname"><em>root</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00218">218</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="runtime-profile_8cc_source.html#l00368">impala::RuntimeProfile::AddChild()</a>, <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>, <a class="el" href="exec-node_8cc_source.html#l00260">impala::ExecNode::CreateNode()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, and <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00199">impala::ExecNode::CreateTree()</a>.</p>
</div>
</div>
<a class="anchor" id="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="ad01139ec9ccb2cdb2069995bc282593b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void impala::ExecNode::DebugString </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>indentation_level</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::stringstream *&#160;</td>
<td class="paramname"><em>out</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Recursive helper method for generating a string for <a class="el" href="classimpala_1_1ExecNode.html#a56de50f3c92483ba38f6e42ab19cc0a2" title="Returns a string representation in DFS order of the plan rooted at this. ">DebugString()</a>. Implementations should call DebugString(int, std::stringstream) on their children. Input parameters: indentation_level: Current level in plan tree. Output parameters: out: Stream to accumulate debug string. </p>
<p>Reimplemented in <a class="el" href="classimpala_1_1BlockingJoinNode.html#ac8de59dcb8911596a8dcab7eed11b346">impala::BlockingJoinNode</a>, <a class="el" href="classimpala_1_1PartitionedAggregationNode.html#a0c5817769bc0c866aaf64bac6ac771ca">impala::PartitionedAggregationNode</a>, <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1af2ab85a2faabf4e3ed8ab3e03a114f">impala::AnalyticEvalNode</a>, <a class="el" href="classimpala_1_1AggregationNode.html#a1717898035bb8a239c71658087099676">impala::AggregationNode</a>, <a class="el" href="classimpala_1_1DataSourceScanNode.html#a3554eff43d3ece51cf6c14c47b1349bb">impala::DataSourceScanNode</a>, <a class="el" href="classimpala_1_1ExchangeNode.html#afd05f2fc49d1d3669cb38c72ed262ed4">impala::ExchangeNode</a>, <a class="el" href="classimpala_1_1HBaseScanNode.html#a66b8c06bac332c4994cb629e16e5396f">impala::HBaseScanNode</a>, <a class="el" href="classimpala_1_1TopNNode.html#a7a882965d255d3820ec90eeff9cb2379">impala::TopNNode</a>, and <a class="el" href="classimpala_1_1SortNode.html#a6c59554968160305a44e0efb1ba74d22">impala::SortNode</a>.</p>
</div>
</div>
<a class="anchor" id="a4d28cb5a8e63d1e7ef4f8fc11138e65c"></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> HdfsScanNode::EnoughMemoryForScannerThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classbool.html">bool</a>&#160;</td>
<td class="paramname"><em>new_thread</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>Returns true if there is enough memory (against the mem tracker limits) to have a scanner thread. If new_thread is true, the calculation is for starting a new scanner thread. If false, it determines whether there's adequate memory for the existing set of scanner threads. lock_ must be taken before calling this. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00706">706</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00157">impala::ScanNode::active_scanner_thread_counter_</a>, <a class="el" href="mem-tracker_8h_source.html#l00298">impala::MemTracker::consumption()</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00312">scanner_thread_bytes_required_</a>, <a class="el" href="mem-tracker_8h_source.html#l00270">impala::MemTracker::SpareCapacity()</a>, and <a class="el" href="runtime-profile_8h_source.html#l00108">impala::RuntimeProfile::Counter::value()</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="a48ec693b9eb748682b58479751812f08"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbool.html">bool</a> impala::ExecNode::EvalConjuncts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *const *&#160;</td>
<td class="paramname"><em>ctxs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_ctxs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>row</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluate ExprContexts over row. Returns true if all exprs return true. TODO: This doesn't use the vector&lt;Expr*&gt; signature because I haven't figured out how to deal with declaring a templated std:vector type in IR </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00393">393</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="expr-context_8cc_source.html#l00310">impala::ExprContext::GetBooleanVal()</a>, <a class="el" href="udf_8h_source.html#l00359">impala_udf::AnyVal::is_null</a>, and <a class="el" href="udf_8h_source.html#l00364">impala_udf::BooleanVal::val</a>.</p>
<p>Referenced by <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00266">impala::HdfsScanner::EvalConjuncts()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00032">EvalOtherJoinConjuncts()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00033">EvalOtherJoinConjuncts2()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">impala::PartitionedHashJoinNode::EvaluateNullProbe()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a310d3a6b28f5bb1046a90ef8995ffb12"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::ExecDebugAction </td>
<td>(</td>
<td class="paramtype">TExecNodePhase::type&#160;</td>
<td class="paramname"><em>phase</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes debug_action_ if phase matches debug_phase_. 'phase' must not be INVALID. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00378">378</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="status_8h_source.html#l00088">impala::Status::CANCELLED</a>, <a class="el" href="exec-node_8h_source.html#l00220">impala::ExecNode::debug_action_</a>, <a class="el" href="exec-node_8h_source.html#l00219">impala::ExecNode::debug_phase_</a>, <a class="el" href="runtime-state_8h_source.html#l00235">impala::RuntimeState::is_cancelled()</a>, and <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>.</p>
<p>Referenced by <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">GetNextInternal()</a>, <a class="el" href="exec-node_8cc_source.html#l00154">impala::ExecNode::Open()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="abe940aa2d7da783c4e8c65f0af22ad8f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>* impala::ExecNode::expr_mem_tracker </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00163">163</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00233">impala::ExecNode::expr_mem_tracker_</a>.</p>
<p>Referenced by <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00429">impala::PartitionedAggregationNode::Partition::InitStreams()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a859aa77fccafc5a265047d5700196065"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void * HdfsScanNode::GetCodegenFn </td>
<td>(</td>
<td class="paramtype">THdfsFileFormat::type&#160;</td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the per format codegen'd function. Scanners call this to get the codegen'd function to use. Returns NULL if codegen should not be used. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00224">224</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00324">codegend_fn_map_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00087">impala::HdfsScanner::InitializeWriteTuplesFn()</a>, and <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::InitNewRange()</a>.</p>
</div>
</div>
<a class="anchor" id="a8b07275398efab777795acbc34b3fd17"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> HdfsScanNode::GetConjunctCtxs </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; *&#160;</td>
<td class="paramname"><em>ctxs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a clone of conjunct_ctxs_. 'ctxs' should be non-NULL and empty. The returned contexts must be closed by the caller. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00692">692</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="expr_8cc_source.html#l00374">impala::Expr::Clone()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00328">conjunct_ctxs_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a0521140f7c60d795fb7bd2f44c42c9bf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> * HdfsScanNode::GetFileDesc </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the file desc for 'filename'. Returns NULL if filename is invalid. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00206">206</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00298">file_descs_</a>.</p>
<p>Referenced by <a class="el" href="scanner-context_8cc_source.html#l00058">impala::ScannerContext::AddStream()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00183">AllocateScanRange()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00274">impala::BaseSequenceScanner::CloseFileRanges()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00530">impala::HdfsTextScanner::FillByteBufferCompressedFile()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01093">impala::HdfsParquetScanner::InitColumns()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00916">impala::HdfsParquetScanner::ProcessFooter()</a>, and <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>.</p>
</div>
</div>
<a class="anchor" id="adab35319d4dbff9af621387591a32c2c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void * HdfsScanNode::GetFileMetadata </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets scanner specific metadata for 'filename'. Scanners can use this to store file header information. Returns NULL if there is no metadata. This is thread safe. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00217">217</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00355">metadata_lock_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00356">per_file_metadata_</a>.</p>
<p>Referenced by <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>.</p>
</div>
</div>
<a class="anchor" id="a87b2fb17053d1d8d94762c024e7ffc70"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsScanNode::GetMaterializedSlotIdx </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>path</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns index into materialized_slots with 'path'. Returns SKIP_COLUMN if that path is not materialized. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00152">152</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00332">path_to_materialized_slot_idx_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00144">SKIP_COLUMN</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00691">impala::HdfsAvroScanner::CodegenMaterializeTuple()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00956">ComputeSlotMaterializationOrder()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">impala::HdfsRCFileScanner::InitNewRange()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>.</p>
</div>
</div>
<a class="anchor" id="a7d9631e3dbf9ec410699953759694890"></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> HdfsScanNode::GetNext </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *&#160;</td>
<td class="paramname"><em>row_batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbool.html">bool</a> *&#160;</td>
<td class="paramname"><em>eos</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves rows and returns them via row_batch. Sets eos to true if subsequent calls will not retrieve any more rows. Data referenced by any tuples returned in row_batch must not be overwritten by the callee until <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> is called. The memory holding that data can be returned via row_batch's tuple_data_pool (in which case it may be deleted by the caller) or held on to by the callee. The row_batch, including its tuple_data_pool, will be destroyed by the caller at some point prior to the final <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> call. In other words, if the memory holding the tuple data will be referenced by the callee in subsequent <a class="el" href="classimpala_1_1HdfsScanNode.html#a7d9631e3dbf9ec410699953759694890">GetNext()</a> calls, it must <em>not</em> be attached to the row_batch's tuple_data_pool. Caller must not be holding any io buffers. This will cause deadlock. TODO: <a class="el" href="classimpala_1_1AggregationNode.html">AggregationNode</a> and <a class="el" href="classimpala_1_1HashJoinNode.html">HashJoinNode</a> cannot be "re-opened" yet. </p>
<p>Implements <a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">impala::ExecNode</a>.</p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">111</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="progress-updater_8h_source.html#l00052">impala::ProgressUpdater::done()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">GetNextInternal()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00307">initial_ranges_issued_</a>, <a class="el" href="status_8h_source.html#l00178">impala::Status::IsMemLimitExceeded()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00040">impala::BaseSequenceScanner::IssueInitialRanges()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00067">impala::HdfsTextScanner::IssueInitialRanges()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00083">impala::HdfsParquetScanner::IssueInitialRanges()</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00302">per_type_files_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00351">progress_</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>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, <a class="el" href="runtime-state_8cc_source.html#l00247">impala::RuntimeState::SetMemLimitExceeded()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a989c93325fcd5478f9c78ac23fc36cee"></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> HdfsScanNode::GetNextInternal </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *&#160;</td>
<td class="paramname"><em>row_batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbool.html">bool</a> *&#160;</td>
<td class="paramname"><em>eos</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks for eos conditions and returns batches from materialized_row_batches_. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">139</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="row-batch_8cc_source.html#l00271">impala::RowBatch::AcquireState()</a>, <a class="el" href="runtime-profile_8h_source.html#l00056">COUNTER_SET</a>, <a class="el" href="exec-node_8cc_source.html#l00378">impala::ExecNode::ExecDebugAction()</a>, <a class="el" href="exec-node_8h_source.html#l00222">impala::ExecNode::limit_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00407">lock_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00363">materialized_row_batches_</a>, <a class="el" href="row-batch_8h_source.html#l00149">impala::RowBatch::num_io_buffers()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00371">num_owned_io_buffers_</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="status_8h_source.html#l00087">impala::Status::OK</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="row-batch_8h_source.html#l00113">impala::RowBatch::set_num_rows()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00426">status_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">GetNext()</a>.</p>
</div>
</div>
<a class="anchor" id="a3e2d144b60f904f6b1f3219b9471aad3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::ExecNode::GetNodeIdFromProfile </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> *&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Extract node id from p-&gt;<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name()</a>. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00062">62</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="runtime-profile_8h_source.html#l00493">impala::RuntimeProfile::metadata()</a>.</p>
</div>
</div>
<a class="anchor" id="a865a6c5db18de5eb3f2b119beb293fce"></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_1HdfsTableDescriptor.html">HdfsTableDescriptor</a>* impala::HdfsScanNode::hdfs_table </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00134">134</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00287">hdfs_table_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00691">impala::HdfsAvroScanner::CodegenMaterializeTuple()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00202">impala::HdfsTextScanner::InitNewRange()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00061">impala::HdfsSequenceScanner::InitNewRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">impala::HdfsRCFileScanner::InitNewRange()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00125">impala::HdfsAvroScanner::ParseMetadata()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00060">impala::HdfsRCFileScanner::Prepare()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>, and <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00426">impala::HdfsAvroScanner::VerifyTypesMatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a2088a36bc4bb4e0c3c7c1444198b76dd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::ExecNode::id </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00154">154</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>.</p>
<p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">impala::AnalyticEvalNode::AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00306">impala::AnalyticEvalNode::AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00030">impala::AnalyticEvalNode::AnalyticEvalNode()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00087">impala::HdfsScanner::InitializeWriteTuplesFn()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::InitNewRange()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">impala::AnalyticEvalNode::InitNextPartition()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00922">impala::PartitionedAggregationNode::MoveHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">impala::PartitionedHashJoinNode::NodeDebugString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">impala::AnalyticEvalNode::Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">impala::AnalyticEvalNode::ProcessChildBatch()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">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="a42b653b45398f8ba44c6e5170402deb3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::HdfsScanNode::IncNumScannersCodegenDisabled </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00172">172</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00380">num_scanners_codegen_disabled_</a>.</p>
<p>Referenced by <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="hdfs-parquet-scanner_8cc_source.html#l00440">impala::HdfsParquetScanner::Prepare()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00060">impala::HdfsRCFileScanner::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ad1fc2cc4ee22ebaef1eb47de5ce1b366"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::HdfsScanNode::IncNumScannersCodegenEnabled </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00168">168</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00379">num_scanners_codegen_enabled_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00087">impala::HdfsScanner::InitializeWriteTuplesFn()</a>, and <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::InitNewRange()</a>.</p>
</div>
</div>
<a class="anchor" id="a13f30c4259774ce6896fa5c1d5d86966"></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::Init </td>
<td>(</td>
<td class="paramtype">const TPlanNode &amp;&#160;</td>
<td class="paramname"><em>tnode</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes this object from the thrift tnode desc. The subclass should do any initialization that can fail in <a class="el" href="classimpala_1_1ExecNode.html#a13f30c4259774ce6896fa5c1d5d86966">Init()</a> rather than the ctor. If overridden in subclass, must first call superclass's <a class="el" href="classimpala_1_1ExecNode.html#a13f30c4259774ce6896fa5c1d5d86966">Init()</a>. </p>
<p>Reimplemented in <a class="el" href="classimpala_1_1PartitionedAggregationNode.html#ad51ebd92fecf99da63209a86b667c7c6">impala::PartitionedAggregationNode</a>, <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a8b8b941f4543bc8748724b6be46a96e2">impala::AnalyticEvalNode</a>, <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a5ebb23f2487cea6f4726c39d05057a8e">impala::PartitionedHashJoinNode</a>, <a class="el" href="classimpala_1_1AggregationNode.html#a9fc36577e13b7d7915765d36e265cfcd">impala::AggregationNode</a>, <a class="el" href="classimpala_1_1HashJoinNode.html#a5530e4a16e714cd3c23d7997fc340dfe">impala::HashJoinNode</a>, <a class="el" href="classimpala_1_1BlockingJoinNode.html#ade60011cccc7cafd5c07f1b8982bb12f">impala::BlockingJoinNode</a>, <a class="el" href="classimpala_1_1ExchangeNode.html#a714f3fbcd89d48499dafb851bb8d37db">impala::ExchangeNode</a>, <a class="el" href="classimpala_1_1TopNNode.html#adea6f7f7bb56f9492a47ae3953ab2dc6">impala::TopNNode</a>, <a class="el" href="classimpala_1_1SortNode.html#a58a1e577d39846c7e6e8373bc9f413a8">impala::SortNode</a>, and <a class="el" href="classimpala_1_1UnionNode.html#a6c7aad86f028658242aa7182ad25e665">impala::UnionNode</a>.</p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00124">124</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#l00212">impala::ExecNode::conjunct_ctxs_</a>, <a class="el" href="expr_8cc_source.html#l00149">impala::Expr::CreateExprTrees()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="exec-node_8h_source.html#l00211">impala::ExecNode::pool_</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</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="blocking-join-node_8cc_source.html#l00045">impala::BlockingJoinNode::Init()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00072">impala::AggregationNode::Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00094">impala::AnalyticEvalNode::Init()</a>, and <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00082">impala::PartitionedAggregationNode::Init()</a>.</p>
</div>
</div>
<a class="anchor" id="ae0944e487f92ed479da7db76f23ee071"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> * HdfsScanNode::InitEmptyTemplateTuple </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocates and return an empty template tuple (i.e. with no values filled in). Scanners can use this method to initialize a template tuple even if there are no materialized partition keys (e.g. to hold Avro default values). </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00289">289</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00300">impala::TupleDescriptor::byte_size()</a>, <a class="el" href="tuple_8h_source.html#l00051">impala::Tuple::Create()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00407">lock_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00421">scan_node_pool_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00283">tuple_desc_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01050">impala::HdfsParquetScanner::CreateColumnReaders()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00270">InitTemplateTuple()</a>, and <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>.</p>
</div>
</div>
<a class="anchor" id="adf07b8ec102e4bc7cc3707157c8f0e99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::InitRuntimeProfile </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00371">371</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>, <a class="el" href="exec-node_8h_source.html#l00211">impala::ExecNode::pool_</a>, and <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00106">impala::ExecNode::ExecNode()</a>.</p>
</div>
</div>
<a class="anchor" id="a396518f57c6ff5e8aada2bb100dfda3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> * HdfsScanNode::InitTemplateTuple </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>value_ctxs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocates and initialises template_tuple_ with any values from the partition columns for the current scan range Returns NULL if there are no materialized partition keys. TODO: cache the tuple template in the partition object. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00270">270</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00084">impala::SlotDescriptor::col_pos()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00289">InitEmptyTemplateTuple()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00407">lock_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00348">partition_key_slots_</a>, and <a class="el" href="raw-value_8cc_source.html#l00303">impala::RawValue::Write()</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</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">impala::PartitionedHashJoinNode::Close()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00380">impala::PartitionedAggregationNode::Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00570">impala::PartitionedAggregationNode::Partition::Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00248">impala::PartitionedHashJoinNode::Partition::Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01200">impala::PartitionedHashJoinNode::ReserveTupleStreamBlocks()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">impala::PartitionedHashJoinNode::SpillPartition()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00872">impala::PartitionedAggregationNode::SpillPartition()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00235">impala::PartitionedHashJoinNode::Partition::~Partition()</a>.</p>
</div>
</div>
<a class="anchor" id="a22576a9da3e350ad498e6c37ae89b98e"></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="classbool.html">bool</a>* impala::HdfsScanNode::is_materialized_col </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The result array is of length num_cols(). The i-th element is true iff column i should be materialized. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00160">160</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00339">is_materialized_col_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-text-scanner_8cc_source.html#l00202">impala::HdfsTextScanner::InitNewRange()</a>, and <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00061">impala::HdfsSequenceScanner::InitNewRange()</a>.</p>
</div>
</div>
<a class="anchor" id="adbdf97ab757ffe5ccdf37552d946d280"></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::ScanNode::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">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#aa4941adc86040c00d0fe1b52bb1c0221">impala::ExecNode</a>.</p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00093">93</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3d958bcb71c4496bbdcc357d6a6439ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsScanNode::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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00117">117</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-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="hdfs-sequence-scanner_8cc_source.html#l00198">impala::HdfsSequenceScanner::ProcessDecompressedBlock()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="a47c24bd36cf74eeafc574dce1b64c831"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::MarkFileDescIssued </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> *&#160;</td>
<td class="paramname"><em>file_desc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Indicates that this file_desc's scan ranges have all been issued to the IoMgr. For each file, the scanner must call <a class="el" href="classimpala_1_1HdfsScanNode.html#a47c24bd36cf74eeafc574dce1b64c831">MarkFileDescIssued()</a> or <a class="el" href="classimpala_1_1HdfsScanNode.html#afe9bc42ad3846bde9f7113e5f1c133dc" title="Adds ranges to the io mgr queue and starts up new scanner threads if possible. ">AddDiskIoRanges()</a>. Issuing ranges happens asynchronously. For many of the file formats we synchronously issue the file header/footer in <a class="el" href="classimpala_1_1HdfsScanNode.html#a39c0718de7bdd2bff19c97dc1eb5bdaa">Open()</a> but the rest of the splits for the file are issued asynchronously. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00683">683</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00315">num_unqueued_files_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00674">AddDiskIoRanges()</a>, and <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00916">impala::HdfsParquetScanner::ProcessFooter()</a>.</p>
</div>
</div>
<a class="anchor" id="a9747733e058642811606afc00529d332"></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::ScanNode::materialize_tuple_timer </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="scan-node_8h_source.html#l00104">104</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00151">impala::ScanNode::materialize_tuple_timer_</a>.</p>
<p>Referenced by <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00198">impala::HdfsSequenceScanner::ProcessDecompressedBlock()</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="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="a3c7c7603998614d3f5f8d0d679846f5e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;<a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a>*&gt;&amp; impala::HdfsScanNode::materialized_slots </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00119">119</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00344">materialized_slots_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00691">impala::HdfsAvroScanner::CodegenMaterializeTuple()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00956">ComputeSlotMaterializationOrder()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01050">impala::HdfsParquetScanner::CreateColumnReaders()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00253">impala::HdfsTextScanner::FinishScanRange()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01093">impala::HdfsParquetScanner::InitColumns()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00202">impala::HdfsTextScanner::InitNewRange()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00620">impala::HdfsTextScanner::Prepare()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00088">impala::HdfsSequenceScanner::Prepare()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00198">impala::HdfsSequenceScanner::ProcessDecompressedBlock()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00916">impala::HdfsParquetScanner::ProcessFooter()</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>, <a class="el" href="hdfs-scanner_8cc_source.html#l00546">impala::HdfsScanner::ReportTupleParseError()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00217">impala::HdfsScanner::WriteCompleteTuple()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00768">impala::HdfsTextScanner::WritePartialTuple()</a>.</p>
</div>
</div>
<a class="anchor" id="aa62d031748dd0e8c6aae15f2d2baa18e"></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::HdfsScanNode::max_compressed_text_file_length </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00140">140</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00384">max_compressed_text_file_length_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-text-scanner_8cc_source.html#l00067">impala::HdfsTextScanner::IssueInitialRanges()</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">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">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">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">impala::PartitionedHashJoinNode::PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00849">impala::PartitionedAggregationNode::ProcessStream()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">impala::HdfsRCFileScanner::ReadRowGroup()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>, <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="afd5404513f8cde9fcb6025d67389e192"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsScanNode::num_materialized_partition_keys </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns number of materialized partition key slots. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00130">130</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00348">partition_key_slots_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00253">impala::HdfsTextScanner::FinishScanRange()</a>.</p>
</div>
</div>
<a class="anchor" id="a5e4f02d8347050fbe459b9b3ea0aa4ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsScanNode::num_partition_keys </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns number of partition keys in the table, including non-materialized slots. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00127">127</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00287">hdfs_table_</a>, and <a class="el" href="descriptors_8h_source.html#l00153">impala::TableDescriptor::num_clustering_cols()</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00691">impala::HdfsAvroScanner::CodegenMaterializeTuple()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01050">impala::HdfsParquetScanner::CreateColumnReaders()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00202">impala::HdfsTextScanner::InitNewRange()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00061">impala::HdfsSequenceScanner::InitNewRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">impala::HdfsRCFileScanner::InitNewRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">impala::HdfsRCFileScanner::ProcessRange()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00532">impala::HdfsParquetScanner::BaseColumnReader::ReadDataPage()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00577">impala::HdfsScanner::ReportColumnParseError()</a>, and <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>.</p>
</div>
</div>
<a class="anchor" id="a39c0718de7bdd2bff19c97dc1eb5bdaa"></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> HdfsScanNode::Open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Performs any preparatory work prior to calling <a class="el" href="classimpala_1_1HdfsScanNode.html#a7d9631e3dbf9ec410699953759694890">GetNext()</a>. Caller must not be holding any io buffers. This will cause deadlock. If overridden in subclass, must first call superclass's <a class="el" href="classimpala_1_1HdfsScanNode.html#a39c0718de7bdd2bff19c97dc1eb5bdaa">Open()</a>. If a parent exec node adds slot filters (see <a class="el" href="classimpala_1_1RuntimeState.html#a7ec83e8d4a3c913dce557835c01c984c">RuntimeState::AddBitmapFilter()</a>), they need to be added before calling <a class="el" href="classimpala_1_1HdfsScanNode.html#a39c0718de7bdd2bff19c97dc1eb5bdaa">Open()</a> on the child that will consume them. </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="hdfs-scan-node_8cc_source.html#l00511">511</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00164">impala::ScanNode::active_hdfs_read_thread_counter_</a>, <a class="el" href="scan-node_8h_source.html#l00157">impala::ScanNode::active_scanner_thread_counter_</a>, <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="runtime-profile_8cc_source.html#l00447">impala::RuntimeProfile::AddDerivedCounter()</a>, <a class="el" href="classimpala_1_1RuntimeProfile.html#a91cce4e3e109922a077cb84a9f6925f2">impala::RuntimeProfile::AddHighWaterMarkCounter()</a>, <a class="el" href="classimpala_1_1RuntimeProfile.html#acb49893c3fdbdbb7a709b6d2d6276d91">impala::RuntimeProfile::AddSamplingCounter()</a>, <a class="el" href="query-resource-mgr_8cc_source.html#l00147">impala::QueryResourceMgr::AddVcoreAvailableCb()</a>, <a class="el" href="scan-node_8h_source.html#l00133">impala::ScanNode::AVERAGE_HDFS_READ_THREAD_CONCURRENCY</a>, <a class="el" href="scan-node_8h_source.html#l00168">impala::ScanNode::average_hdfs_read_thread_concurrency_</a>, <a class="el" href="scan-node_8h_source.html#l00132">impala::ScanNode::AVERAGE_SCANNER_THREAD_CONCURRENCY</a>, <a class="el" href="scan-node_8h_source.html#l00161">impala::ScanNode::average_scanner_thread_concurrency_</a>, <a class="el" href="scan-node_8h_source.html#l00095">impala::ScanNode::bytes_read_counter()</a>, <a class="el" href="scan-node_8h_source.html#l00140">impala::ScanNode::bytes_read_counter_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00396">bytes_read_dn_cache_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00390">bytes_read_local_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00393">bytes_read_short_circuit_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00328">conjunct_ctxs_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00438">counters_running_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00387">disks_accessed_bitmap_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00298">file_descs_</a>, <a class="el" href="descriptors_8h_source.html#l00238">impala::HdfsTableDescriptor::GetPartition()</a>, <a class="el" href="scan-node_8h_source.html#l00174">impala::ScanNode::hdfs_read_thread_concurrency_bucket_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00287">hdfs_table_</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="runtime-state_8h_source.html#l00139">impala::RuntimeState::io_mgr()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00384">max_compressed_text_file_length_</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="disk-info_8h_source.html#l00038">impala::DiskInfo::num_disks()</a>, <a class="el" href="scan-node_8h_source.html#l00127">impala::ScanNode::NUM_DISKS_ACCESSED_COUNTER</a>, <a class="el" href="scan-node_8h_source.html#l00150">impala::ScanNode::num_disks_accessed_counter_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00399">num_remote_ranges_</a>, <a class="el" href="scan-node_8h_source.html#l00134">impala::ScanNode::NUM_SCANNER_THREADS_STARTED</a>, <a class="el" href="scan-node_8h_source.html#l00170">impala::ScanNode::num_scanner_threads_started_counter_</a>, <a class="el" href="disk-io-mgr_8h_source.html#l00593">impala::DiskIoMgr::num_total_disks()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="exec-node_8cc_source.html#l00154">impala::ExecNode::Open()</a>, <a class="el" href="classimpala_1_1Expr.html#aad1111f87951868de4d8f8b2dfe87c5f">impala::Expr::Open()</a>, <a class="el" href="descriptors_8cc_source.html#l00145">impala::HdfsPartitionDescriptor::OpenExprs()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00294">partition_ids_</a>, <a class="el" href="scan-node_8h_source.html#l00126">impala::ScanNode::PER_READ_THREAD_THROUGHPUT_COUNTER</a>, <a class="el" href="scan-node_8h_source.html#l00149">impala::ScanNode::per_read_thread_throughput_counter_</a>, <a class="el" href="exec-node_8h_source.html#l00211">impala::ExecNode::pool_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00351">progress_</a>, <a class="el" href="runtime-state_8h_source.html#l00095">impala::RuntimeState::query_options()</a>, <a class="el" href="runtime-state_8h_source.html#l00269">impala::RuntimeState::query_resource_mgr()</a>, <a class="el" href="scan-node_8h_source.html#l00097">impala::ScanNode::read_timer()</a>, <a class="el" href="scan-node_8h_source.html#l00145">impala::ScanNode::read_timer_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00280">reader_context_</a>, <a class="el" href="runtime-profile_8cc_source.html#l00798">impala::RuntimeProfile::RegisterBucketingCounters()</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00336">impala::DiskIoMgr::RegisterContext()</a>, <a class="el" href="thread-resource-mgr_8cc_source.html#l00056">impala::ThreadResourceMgr::ResourcePool::ReserveOptionalTokens()</a>, <a class="el" href="runtime-state_8h_source.html#l00142">impala::RuntimeState::resource_pool()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00442">rm_callback_id_</a>, <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>, <a class="el" href="scan-node_8h_source.html#l00129">impala::ScanNode::SCAN_RANGES_COMPLETE_COUNTER</a>, <a class="el" href="scan-node_8h_source.html#l00152">impala::ScanNode::scan_ranges_complete_counter_</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00397">impala::DiskIoMgr::set_active_read_thread_counter()</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00393">impala::DiskIoMgr::set_bytes_read_counter()</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00402">impala::DiskIoMgr::set_disks_access_bitmap()</a>, <a class="el" href="thread-resource-mgr_8h_source.html#l00163">impala::ThreadResourceMgr::ResourcePool::set_max_quota()</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00389">impala::DiskIoMgr::set_read_timer()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, <a class="el" href="thread-resource-mgr_8cc_source.html#l00090">impala::ThreadResourceMgr::ResourcePool::SetThreadAvailableCb()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>, <a class="el" href="scan-node_8h_source.html#l00123">impala::ScanNode::TOTAL_HDFS_READ_TIMER</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00402">unexpected_remote_bytes_</a>, and <a class="el" href="runtime-profile_8cc_source.html#l00733">impala::RuntimeProfile::UnitsPerSecond()</a>.</p>
</div>
</div>
<a class="anchor" id="ac86067d7aea8e9818d55a613bb8e7a2e"></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::ScanNode::per_read_thread_throughput_counter </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="scan-node_8h_source.html#l00101">101</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00149">impala::ScanNode::per_read_thread_throughput_counter_</a>.</p>
</div>
</div>
<a class="anchor" id="a265b144314da1ba14edde43893493c0d"></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> HdfsScanNode::Prepare </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> methods. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1ScanNode.html#a9e3d036ef5311e9411379a05f20631b7">impala::ScanNode</a>.</p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">304</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="classimpala_1_1ExecNode.html#a19340582202dd61e0b028c28efa5490a">impala::ExecNode::AddExprCtxsToFree()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00714">impala::LlvmCodeGen::AddFunctionToJit()</a>, <a class="el" href="runtime-profile_8cc_source.html#l00406">impala::RuntimeProfile::AddInfoString()</a>, <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00183">AllocateScanRange()</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="hdfs-text-scanner_8cc_source.html#l00609">impala::HdfsTextScanner::Codegen()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00083">impala::HdfsAvroScanner::Codegen()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00050">impala::HdfsSequenceScanner::Codegen()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00324">codegend_fn_map_</a>, <a class="el" href="descriptors_8cc_source.html#l00066">impala::SlotDescriptor::ColPathLessThan()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00076">COMPRESSED_TEXT_COMPRESSION_RATIO</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00328">conjunct_ctxs_</a>, <a class="el" href="expr_8cc_source.html#l00149">impala::Expr::CreateExprTrees()</a>, <a class="el" href="runtime-state_8h_source.html#l00093">impala::RuntimeState::desc_tbl()</a>, <a class="el" href="runtime-state_8h_source.html#l00130">impala::RuntimeState::exec_env()</a>, <a class="el" href="exec-node_8h_source.html#l00163">impala::ExecNode::expr_mem_tracker()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00067">impala::HdfsFileDesc::file_compression</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00298">file_descs_</a>, <a class="el" href="descriptors_8h_source.html#l00184">impala::HdfsPartitionDescriptor::file_format()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00062">impala::HdfsFileDesc::file_length</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00058">impala::HdfsFileDesc::filename</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00055">impala::HdfsFileDesc::fs</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00152">GetMaterializedSlotIdx()</a>, <a class="el" href="descriptors_8cc_source.html#l00437">impala::DescriptorTbl::GetTupleDescriptor()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00265">HDFS_SPLIT_STATS_DESC</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00287">hdfs_table_</a>, <a class="el" href="hdfs-fs-cache_8h_source.html#l00043">impala::HdfsFsCache::instance()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00339">is_materialized_col_</a>, <a class="el" href="descriptors_8h_source.html#l00189">impala::HdfsPartitionDescriptor::location()</a>, <a class="el" href="runtime-state_8cc_source.html#l00224">impala::RuntimeState::LogError()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00344">materialized_slots_</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00065">impala::HdfsFileDesc::mtime</a>, <a class="el" href="impalad-metrics_8h_source.html#l00131">impala::ImpaladMetrics::NUM_RANGES_MISSING_VOLUME_ID</a>, <a class="el" href="impalad-metrics_8h_source.html#l00132">impala::ImpaladMetrics::NUM_RANGES_PROCESSED</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00315">num_unqueued_files_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00294">partition_ids_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00348">partition_key_slots_</a>, <a class="el" href="sasl-test_8cc.html#a2db66f7b463c0e190f8933e51f43d91e">path()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00332">path_to_materialized_slot_idx_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00302">per_type_files_</a>, <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, <a class="el" href="classimpala_1_1Expr.html#a3ae02e50debba50ac5c7b6dd9f8016e7">impala::Expr::Prepare()</a>, <a class="el" href="descriptors_8cc_source.html#l00134">impala::HdfsPartitionDescriptor::PrepareExprs()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l01073">PrintHdfsSplitStats()</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="hdfs-scan-node_8h_source.html#l00136">runtime_state()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00421">scan_node_pool_</a>, <a class="el" href="scan-node_8h_source.html#l00138">impala::ScanNode::scan_range_params_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00312">scanner_thread_bytes_required_</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00072">SCANNER_THREAD_MEM_USAGE</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00359">scanner_threads_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="thread_8cc_source.html#l00333">impala::ThreadGroup::SetCgroup()</a>, <a class="el" href="thread_8h_source.html#l00186">impala::ThreadGroup::SetCgroupsMgr()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00144">SKIP_COLUMN</a>, <a class="el" href="descriptors_8h_source.html#l00302">impala::TupleDescriptor::slots()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00070">impala::HdfsFileDesc::splits</a>, <a class="el" href="descriptors_8h_source.html#l00304">impala::TupleDescriptor::table_desc()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00272">thrift_plan_node_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00283">tuple_desc_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00277">tuple_id_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00291">unknown_disk_id_warned_</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l01058">UpdateHdfsSplitStats()</a>.</p>
</div>
</div>
<a class="anchor" id="a896efeab03af639a6e42b425323f83c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::PrintHdfsSplitStats </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classimpala_1_1HdfsScanNode.html#adc5104041e8113d244f775b8fd7a7280">PerVolumnStats</a> &amp;&#160;</td>
<td class="paramname"><em>per_volume_stats</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::stringstream *&#160;</td>
<td class="paramname"><em>ss</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Output the per_volume_stats to stringstream. The output format is a list of: &lt;volume id&gt;=""&gt;:&lt;# splits&gt;/&lt;per volume="" split="" lengths&gt;=""&gt; </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l01073">1073</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="pretty-printer_8h_source.html#l00033">impala::PrettyPrinter::Print()</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00284">impala::PlanFragmentExecutor::PrintVolumeIds()</a>.</p>
</div>
</div>
<a class="anchor" id="ab8f2832c6a5487aa8168b2a7d65773ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::QueryMaintenance </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Frees any local allocations made by expr_ctxs_to_free_ and returns the result of state-&gt;CheckQueryState(). Nodes should call this periodically, e.g. once per input row batch. This should not be called outside the main execution thread. Nodes may override this to add extra periodic cleanup, e.g. freeing other local allocations. ExecNodes overriding this function should return <a class="el" href="classimpala_1_1ExecNode.html#ab8f2832c6a5487aa8168b2a7d65773ee">ExecNode::QueryMaintenance()</a>. </p>
<p>Reimplemented in <a class="el" href="classimpala_1_1PartitionedAggregationNode.html#a7a5917169ffd6b1888da137c2b0ee783">impala::PartitionedAggregationNode</a>, and <a class="el" href="classimpala_1_1AnalyticEvalNode.html#af15cf540c4d2895f42f6708b83e77de4">impala::AnalyticEvalNode</a>.</p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00401">401</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="runtime-state_8cc_source.html#l00286">impala::RuntimeState::CheckQueryState()</a>, <a class="el" href="exec-node_8h_source.html#l00286">impala::ExecNode::expr_ctxs_to_free_</a>, and <a class="el" href="expr-context_8cc_source.html#l00109">impala::ExprContext::FreeLocalAllocations()</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">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">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00781">impala::AnalyticEvalNode::QueryMaintenance()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00968">impala::PartitionedAggregationNode::QueryMaintenance()</a>, and <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>.</p>
</div>
</div>
<a class="anchor" id="a6193af89a13de0a3b8d45bc0e5cd288c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::RangeComplete </td>
<td>(</td>
<td class="paramtype">const THdfsFileFormat::type &amp;&#160;</td>
<td class="paramname"><em>file_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const THdfsCompression::type &amp;&#160;</td>
<td class="paramname"><em>compression_type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Called by the scanner when a range is complete. Used to trigger done_ and to log progress. This <em>must</em> only be called after the scanner has completely finished the scan range (i.e. context-&gt;Flush()). </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00924">924</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>Referenced by <a class="el" href="hdfs-text-scanner_8cc_source.html#l00185">impala::HdfsTextScanner::Close()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00082">impala::BaseSequenceScanner::Close()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00449">impala::HdfsParquetScanner::Close()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00274">impala::BaseSequenceScanner::CloseFileRanges()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00067">impala::HdfsTextScanner::IssueInitialRanges()</a>, and <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00083">impala::HdfsParquetScanner::IssueInitialRanges()</a>.</p>
</div>
</div>
<a class="anchor" id="aef9945c0276c71bd902644ff4d1be99b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void impala::HdfsScanNode::RangeComplete </td>
<td>(</td>
<td class="paramtype">const THdfsFileFormat::type &amp;&#160;</td>
<td class="paramname"><em>file_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; THdfsCompression::type &gt; &amp;&#160;</td>
<td class="paramname"><em>compression_type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as above except for when multiple compression codecs were used in the file. The metrics are incremented for each compression_type. </p>
</div>
</div>
<a class="anchor" id="a3ff26374466bc587eaa4c7d00b3e126a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbool.html">bool</a> impala::ExecNode::ReachedLimit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00159">159</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00222">impala::ExecNode::limit_</a>, and <a class="el" href="exec-node_8h_source.html#l00223">impala::ExecNode::num_rows_returned_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00805">impala::HdfsParquetScanner::AssembleRows()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00253">impala::HdfsTextScanner::FinishScanRange()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">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="a50f56df165715453106a2a60c5c96a2b"></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::ScanNode::read_timer </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="scan-node_8h_source.html#l00097">97</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00145">impala::ScanNode::read_timer_</a>.</p>
<p>Referenced by <a class="el" href="hbase-table-scanner_8cc_source.html#l00501">impala::HBaseTableScanner::Next()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="a2ae2a85f03b9945978b212c75f1e3ca1"></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_1DiskIoMgr_1_1RequestContext.html">DiskIoMgr::RequestContext</a>* impala::HdfsScanNode::reader_context </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00138">138</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00280">reader_context_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01093">impala::HdfsParquetScanner::InitColumns()</a>, and <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00916">impala::HdfsParquetScanner::ProcessFooter()</a>.</p>
</div>
</div>
<a class="anchor" id="a5f8e4ee279a1f64787666e72308bf66d"></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> HdfsScanNode::Reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets all data-specific state, returning this node to the state it was in after calling <a class="el" href="classimpala_1_1HdfsScanNode.html#a265b144314da1ba14edde43893493c0d" title="ExecNode methods. ">Prepare()</a> and before calling <a class="el" href="classimpala_1_1HdfsScanNode.html#a39c0718de7bdd2bff19c97dc1eb5bdaa">Open()</a>. <a class="el" href="classimpala_1_1HdfsScanNode.html#a265b144314da1ba14edde43893493c0d" title="ExecNode methods. ">Prepare()</a> must have already been called before calling <a class="el" href="classimpala_1_1HdfsScanNode.html#a5f8e4ee279a1f64787666e72308bf66d">Reset()</a>. <a class="el" href="classimpala_1_1HdfsScanNode.html#a39c0718de7bdd2bff19c97dc1eb5bdaa">Open()</a> and <a class="el" href="classimpala_1_1HdfsScanNode.html#a7d9631e3dbf9ec410699953759694890">GetNext()</a> may have optionally been called. <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> must not have been called. If overridden in a subclass, must call superclass's <a class="el" href="classimpala_1_1HdfsScanNode.html#a5f8e4ee279a1f64787666e72308bf66d">Reset()</a> at the end. The default implementation calls <a class="el" href="classimpala_1_1HdfsScanNode.html#a5f8e4ee279a1f64787666e72308bf66d">Reset()</a> on children. Note that this function may be called many times, so should be fast. For example, accumulated memory does not need to be freed on every call if it's expensive. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#ad71c699df350036b9df84b9bc19934cd">impala::ExecNode</a>.</p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00617">617</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a467297b1704ae33db61ae61d3400c35f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a>&amp; impala::ExecNode::row_desc </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00156">156</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00215">impala::ExecNode::row_descriptor_</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00133">impala::CrossJoinNode::BuildListDebugString()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00462">impala::HashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00222">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">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00849">impala::PartitionedAggregationNode::ProcessStream()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00539">impala::PlanFragmentExecutor::row_desc()</a>, <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a8bbd4f0a432182ed56f766945645ce8c"></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::ScanNode::rows_read_counter </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="scan-node_8h_source.html#l00096">96</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00144">impala::ScanNode::rows_read_counter_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00805">impala::HdfsParquetScanner::AssembleRows()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00253">impala::HdfsTextScanner::FinishScanRange()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00198">impala::HdfsSequenceScanner::ProcessDecompressedBlock()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00916">impala::HdfsParquetScanner::ProcessFooter()</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>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">impala::HdfsRCFileScanner::ProcessRange()</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">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">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>.</p>
</div>
</div>
<a class="anchor" id="a5a47b289756eb429bbeb5bf134959f9e"></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::HdfsScanNode::runtime_state </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00136">136</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00805">impala::HdfsParquetScanner::AssembleRows()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00240">impala::HdfsParquetScanner::BaseColumnReader::BaseColumnReader()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00609">impala::HdfsTextScanner::Codegen()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00083">impala::HdfsAvroScanner::Codegen()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00050">impala::HdfsSequenceScanner::Codegen()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00691">impala::HdfsAvroScanner::CodegenMaterializeTuple()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00472">impala::HdfsParquetScanner::CreateReader()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01093">impala::HdfsParquetScanner::InitColumns()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00067">impala::HdfsTextScanner::IssueInitialRanges()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00083">impala::HdfsParquetScanner::IssueInitialRanges()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00916">impala::HdfsParquetScanner::ProcessFooter()</a>, and <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00532">impala::HdfsParquetScanner::BaseColumnReader::ReadDataPage()</a>.</p>
</div>
</div>
<a class="anchor" id="afe152e2be9b5c94a2d071b4fc1c59ede"></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::ScanNode::scan_ranges_complete_counter </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="scan-node_8h_source.html#l00107">107</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00152">impala::ScanNode::scan_ranges_complete_counter_</a>.</p>
</div>
</div>
<a class="anchor" id="a980b55d52d4cff867f3096b705250357"></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_1ThreadCounters.html">RuntimeProfile::ThreadCounters</a>* impala::ScanNode::scanner_thread_counters </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="scan-node_8h_source.html#l00110">110</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00154">impala::ScanNode::scanner_thread_counters_</a>.</p>
<p>Referenced by <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>.</p>
</div>
</div>
<a class="anchor" id="a070067d8d77f5d61fcdd3e2f66774a62"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::ScannerThread </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>Main function for scanner thread. This thread pulls the next range to be processed from the IoMgr and then processes the entire range end to end. This thread terminates when all scan ranges are complete or an error occurred. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">797</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00157">impala::ScanNode::active_scanner_thread_counter_</a>, <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00417">all_ranges_started_</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00082">impala::HdfsScanner::Close()</a>, <a class="el" href="runtime-profile_8h_source.html#l00055">COUNTER_ADD</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00230">CreateAndPrepareScanner()</a>, <a class="el" href="progress-updater_8h_source.html#l00052">impala::ProgressUpdater::done()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00413">done_</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00706">EnoughMemoryForScannerThread()</a>, <a class="el" href="runtime-state_8h_source.html#l00121">impala::RuntimeState::error_log()</a>, <a class="el" href="runtime-state_8cc_source.html#l00203">impala::RuntimeState::ErrorLog()</a>, <a class="el" href="disk-io-mgr_8h_source.html#l00266">impala::DiskIoMgr::RequestRange::file()</a>, <a class="el" href="descriptors_8h_source.html#l00184">impala::HdfsPartitionDescriptor::file_format()</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00501">impala::DiskIoMgr::GetNextRange()</a>, <a class="el" href="descriptors_8h_source.html#l00238">impala::HdfsTableDescriptor::GetPartition()</a>, <a class="el" href="scanner-context_8h_source.html#l00246">impala::ScannerContext::GetStream()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00287">hdfs_table_</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="runtime-state_8h_source.html#l00139">impala::RuntimeState::io_mgr()</a>, <a class="el" href="status_8h_source.html#l00174">impala::Status::IsCancelled()</a>, <a class="el" href="status_8h_source.html#l00178">impala::Status::IsMemLimitExceeded()</a>, <a class="el" href="disk-io-mgr_8h_source.html#l00268">impala::DiskIoMgr::RequestRange::len()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00407">lock_</a>, <a class="el" href="atomic_8h_source.html#l00036">impala::AtomicUtil::MemoryBarrier()</a>, <a class="el" href="disk-io-mgr_8h_source.html#l00312">impala::DiskIoMgr::ScanRange::meta_data()</a>, <a class="el" href="query-resource-mgr_8cc_source.html#l00140">impala::QueryResourceMgr::NotifyThreadUsageChange()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00315">num_unqueued_files_</a>, <a class="el" href="runtime-state_8h_source.html#l00092">impala::RuntimeState::obj_pool()</a>, <a class="el" href="disk-io-mgr_8h_source.html#l00267">impala::DiskIoMgr::RequestRange::offset()</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="thread-resource-mgr_8h_source.html#l00141">impala::ThreadResourceMgr::ResourcePool::optional_exceeded()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00080">impala::ScanRangeMetadata::partition_id</a>, <a class="el" href="classimpala_1_1HdfsScanner.html#a2f5d1478537643952a179471165bf1b5">impala::HdfsScanner::ProcessSplit()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00351">progress_</a>, <a class="el" href="runtime-state_8h_source.html#l00269">impala::RuntimeState::query_resource_mgr()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00280">reader_context_</a>, <a class="el" href="thread-resource-mgr_8h_source.html#l00255">impala::ThreadResourceMgr::ResourcePool::ReleaseThreadToken()</a>, <a class="el" href="runtime-state_8h_source.html#l00142">impala::RuntimeState::resource_pool()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>, <a class="el" href="scan-node_8h_source.html#l00110">impala::ScanNode::scanner_thread_counters()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00268">ScannerContext</a>, <a class="el" href="runtime-profile_8h_source.html#l00058">SCOPED_THREAD_COUNTER_MEASUREMENT</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, <a class="el" href="runtime-state_8cc_source.html#l00247">impala::RuntimeState::SetMemLimitExceeded()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00426">status_</a>, <a class="el" href="scanner-context_8h_source.html#l00126">impala::ScannerContext::Stream::total_bytes_returned()</a>, <a class="el" href="runtime-state_8h_source.html#l00238">impala::RuntimeState::total_cpu_timer()</a>, <a class="el" href="runtime-profile_8h_source.html#l00108">impala::RuntimeProfile::Counter::value()</a>, <a class="el" href="logging_8h_source.html#l00057">VLOG_QUERY</a>, and <a class="el" href="logging_8h_source.html#l00064">VLOG_QUERY_IS_ON</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="a39054faeb49a0adeeabb256106f456af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::SetDebugOptions </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>node_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TExecNodePhase::type&#160;</td>
<td class="paramname"><em>phase</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TDebugAction::type&#160;</td>
<td class="paramname"><em>action</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *&#160;</td>
<td class="paramname"><em>tree</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set debug action for node with given id in 'tree'. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00332">332</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>, <a class="el" href="exec-node_8h_source.html#l00220">impala::ExecNode::debug_action_</a>, <a class="el" href="exec-node_8h_source.html#l00219">impala::ExecNode::debug_phase_</a>, and <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>.</p>
<p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a9be5690e584ef1940004da01f85d7b31"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::SetDone </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>sets done_ to true and triggers threads to cleanup. Cannot be calld with any locks taken. Calling it repeatedly ignores subsequent calls. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">944</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="disk-io-mgr_8cc_source.html#l00377">impala::DiskIoMgr::CancelContext()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00413">done_</a>, <a class="el" href="runtime-state_8h_source.html#l00139">impala::RuntimeState::io_mgr()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00407">lock_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00363">materialized_row_batches_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00280">reader_context_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">GetNextInternal()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>.</p>
</div>
</div>
<a class="anchor" id="a3405cd6d94586c152efae17e6cfbd787"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::SetFileMetadata </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>filename</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>metadata</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the scanner specific metadata for 'filename'. This is thread safe. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00211">211</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00355">metadata_lock_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00356">per_file_metadata_</a>.</p>
<p>Referenced by <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>.</p>
</div>
</div>
<a class="anchor" id="a4ca204d2a88f9ff42c748274c70431f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ScanNode::SetScanRanges </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; TScanRangeParams &gt; &amp;&#160;</td>
<td class="paramname"><em>scan_range_params</em></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>This should be called before <a class="el" href="classimpala_1_1ScanNode.html#a9e3d036ef5311e9411379a05f20631b7">Prepare()</a>, and the argument must be not destroyed until after <a class="el" href="classimpala_1_1ScanNode.html#a9e3d036ef5311e9411379a05f20631b7">Prepare()</a>. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00089">89</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00138">impala::ScanNode::scan_range_params_</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="a702a5dc48e4ccd0e9ea3199ee5c56e0b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::StopAndFinalizeCounters </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>Stops periodic counters and aggregates counter values for the entire scan node. This should be called as soon as the scan node is complete to get the most accurate counter values. This can be called multiple times, subsequent calls will be ignored. This must be called on <a class="el" href="classimpala_1_1HdfsScanNode.html#ace07ac96df8e9b8ac2991c142cbc24c0">Close()</a> to unregister counters. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">982</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>, <a class="el" href="scan-node_8h_source.html#l00168">impala::ScanNode::average_hdfs_read_thread_concurrency_</a>, <a class="el" href="scan-node_8h_source.html#l00161">impala::ScanNode::average_scanner_thread_concurrency_</a>, <a class="el" href="scan-node_8h_source.html#l00095">impala::ScanNode::bytes_read_counter()</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00428">impala::DiskIoMgr::bytes_read_dn_cache()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00396">bytes_read_dn_cache_</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00420">impala::DiskIoMgr::bytes_read_local()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00390">bytes_read_local_</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00424">impala::DiskIoMgr::bytes_read_short_circuit()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00393">bytes_read_short_circuit_</a>, <a class="el" href="scan-node_8h_source.html#l00142">impala::ScanNode::bytes_read_timeseries_counter_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00438">counters_running_</a>, <a class="el" href="descriptors_8h_source.html#l00164">impala::TableDescriptor::database()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00387">disks_accessed_bitmap_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00434">file_type_counts_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00431">file_type_counts_lock_</a>, <a class="el" href="scan-node_8h_source.html#l00174">impala::ScanNode::hdfs_read_thread_concurrency_bucket_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00287">hdfs_table_</a>, <a class="el" href="runtime-state_8h_source.html#l00139">impala::RuntimeState::io_mgr()</a>, <a class="el" href="impalad-metrics_8h_source.html#l00143">impala::ImpaladMetrics::IO_MGR_BYTES_READ</a>, <a class="el" href="impalad-metrics_8h_source.html#l00145">impala::ImpaladMetrics::IO_MGR_CACHED_BYTES_READ</a>, <a class="el" href="impalad-metrics_8h_source.html#l00144">impala::ImpaladMetrics::IO_MGR_LOCAL_BYTES_READ</a>, <a class="el" href="impalad-metrics_8h_source.html#l00146">impala::ImpaladMetrics::IO_MGR_SHORT_CIRCUIT_BYTES_READ</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00407">lock_</a>, <a class="el" href="runtime-state_8cc_source.html#l00224">impala::RuntimeState::LogError()</a>, <a class="el" href="descriptors_8h_source.html#l00163">impala::TableDescriptor::name()</a>, <a class="el" href="scan-node_8h_source.html#l00150">impala::ScanNode::num_disks_accessed_counter_</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00432">impala::DiskIoMgr::num_remote_ranges()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00399">num_remote_ranges_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00380">num_scanners_codegen_disabled_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00379">num_scanners_codegen_enabled_</a>, <a class="el" href="bit-util_8h_source.html#l00116">impala::BitUtil::Popcount()</a>, <a class="el" href="pretty-printer_8h_source.html#l00033">impala::PrettyPrinter::Print()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00280">reader_context_</a>, <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>, <a class="el" href="runtime-profile_8h_source.html#l00102">impala::RuntimeProfile::Counter::Set()</a>, <a class="el" href="periodic-counter-updater_8cc_source.html#l00094">impala::PeriodicCounterUpdater::StopBucketingCounters()</a>, <a class="el" href="periodic-counter-updater_8cc_source.html#l00075">impala::PeriodicCounterUpdater::StopRateCounter()</a>, <a class="el" href="periodic-counter-updater_8cc_source.html#l00080">impala::PeriodicCounterUpdater::StopSamplingCounter()</a>, <a class="el" href="periodic-counter-updater_8cc_source.html#l00122">impala::PeriodicCounterUpdater::StopTimeSeriesCounter()</a>, <a class="el" href="scan-node_8h_source.html#l00098">impala::ScanNode::total_throughput_counter()</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00436">impala::DiskIoMgr::unexpected_remote_bytes()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00402">unexpected_remote_bytes_</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00079">UNEXPECTED_REMOTE_BYTES_WARN_THRESHOLD</a>, and <a class="el" href="runtime-profile_8h_source.html#l00108">impala::RuntimeProfile::Counter::value()</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">GetNext()</a>.</p>
</div>
</div>
<a class="anchor" id="aff162f338e73e753a8d04cdee31246e5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::ThreadTokenAvailableCb </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ThreadResourceMgr_1_1ResourcePool.html">ThreadResourceMgr::ResourcePool</a> *&#160;</td>
<td class="paramname"><em>pool</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 scanner threads are available for this scan node. This will try to spin up as many scanner threads as the quota allows. This is also called whenever a new range is added to the IoMgr to 'pull' thread tokens if they are available. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">729</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00157">impala::ScanNode::active_scanner_thread_counter_</a>, <a class="el" href="thread_8cc_source.html#l00318">impala::ThreadGroup::AddThread()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00417">all_ranges_started_</a>, <a class="el" href="runtime-profile_8h_source.html#l00055">COUNTER_ADD</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00413">done_</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00706">EnoughMemoryForScannerThread()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00307">initial_ranges_issued_</a>, <a class="el" href="query-resource-mgr_8h_source.html#l00110">impala::QueryResourceMgr::IsVcoreOverSubscribed()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00407">lock_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00363">materialized_row_batches_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00366">max_materialized_row_batches_</a>, <a class="el" href="query-resource-mgr_8cc_source.html#l00140">impala::QueryResourceMgr::NotifyThreadUsageChange()</a>, <a class="el" href="scan-node_8h_source.html#l00170">impala::ScanNode::num_scanner_threads_started_counter_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00375">num_skipped_tokens_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00351">progress_</a>, <a class="el" href="runtime-state_8h_source.html#l00269">impala::RuntimeState::query_resource_mgr()</a>, <a class="el" href="progress-updater_8h_source.html#l00056">impala::ProgressUpdater::remaining()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00274">runtime_state_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00359">scanner_threads_</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, <a class="el" href="thread-resource-mgr_8h_source.html#l00235">impala::ThreadResourceMgr::ResourcePool::TryAcquireThreadToken()</a>, and <a class="el" href="runtime-profile_8h_source.html#l00108">impala::RuntimeProfile::Counter::value()</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00674">AddDiskIoRanges()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="afb5d90596e4547f8773cd65fb6badccf"></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::ScanNode::total_throughput_counter </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="scan-node_8h_source.html#l00098">98</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>References <a class="el" href="scan-node_8h_source.html#l00147">impala::ScanNode::total_throughput_counter_</a>.</p>
<p>Referenced by <a class="el" href="hbase-scan-node_8cc_source.html#l00277">impala::HBaseScanNode::Close()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a7d8305f32b9409b04ca086475a4571d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::TransferToScanNodePool </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *&#160;</td>
<td class="paramname"><em>pool</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acquires all allocations from pool into scan_node_pool_. Thread-safe. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l00299">299</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00407">lock_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00421">scan_node_pool_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>.</p>
</div>
</div>
<a class="anchor" id="a80d3fb07200c309f82227e428db98a62"></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_1TupleDescriptor.html">TupleDescriptor</a>* impala::HdfsScanNode::tuple_desc </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00132">132</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00283">tuple_desc_</a>.</p>
<p>Referenced by <a class="el" href="scanner-context_8cc_source.html#l00058">impala::ScannerContext::AddStream()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00691">impala::HdfsAvroScanner::CodegenMaterializeTuple()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00087">impala::HdfsScanner::InitializeWriteTuplesFn()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">impala::HdfsRCFileScanner::InitNewRange()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00228">impala::HdfsTextScanner::ResetScanner()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00513">impala::HdfsScanner::UpdateDecompressor()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="a2219a299f3c2e1ec81d6699d65b4c80c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsScanNode::tuple_idx </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the tuple idx into the row for this scan node to output to. Currently this is always 0. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00124">124</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00805">impala::HdfsParquetScanner::AssembleRows()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00564">impala::HdfsRCFileScanner::DebugString()</a>, <a class="el" href="hdfs-avro-scanner-ir_8cc_source.html#l00023">impala::HdfsAvroScanner::DecodeAvroData()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">impala::HdfsRCFileScanner::ProcessRange()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00217">impala::HdfsScanner::WriteCompleteTuple()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</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="a8ccdbe3afe3d3360261bd6babfea7bff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanNode::UpdateHdfsSplitStats </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; TScanRangeParams &gt; &amp;&#160;</td>
<td class="paramname"><em>scan_range_params_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsScanNode.html#adc5104041e8113d244f775b8fd7a7280">PerVolumnStats</a> *&#160;</td>
<td class="paramname"><em>per_volume_stats</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the per volume stats with the given scan range params list. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8cc_source.html#l01058">1058</a> of file <a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a>.</p>
<p>References <a class="el" href="container-util_8h_source.html#l00051">impala::FindOrInsert()</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00284">impala::PlanFragmentExecutor::PrintVolumeIds()</a>.</p>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a18a23532ddeb0ae53093207992bb5611"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classimpala_1_1ScannerContext.html">ScannerContext</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00268">268</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a854c00138aabd7ca7774d4d67a594d3a"></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::ScanNode::active_hdfs_read_thread_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>The number of active hdfs reading threads reading for this node. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00164">164</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="aa12010650a5eafd6ebeccb5fdd9e442a"></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::ScanNode::active_scanner_thread_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>The number of active scanner threads that are not blocked by IO. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00157">157</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8h_source.html#l00113">impala::ScanNode::active_scanner_thread_counter()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00706">EnoughMemoryForScannerThread()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="aabe5624b63a44f5262f4bf2cbbfed3c0"></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::HdfsScanNode::all_ranges_started_</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>Set to true if all ranges have started. Some of the ranges may still be in flight being processed by scanner threads, but no new ScannerThreads should be started. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00417">417</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="a107068e0d20d1810ebb9390e89d41dda"></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::ScanNode::AVERAGE_HDFS_READ_THREAD_CONCURRENCY</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">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;AverageHdfsReadThreadConcurrency&quot;</span></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00133">133</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="a17db6484c22ecd4c0511e5e1c53f185c"></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::ScanNode::average_hdfs_read_thread_concurrency_</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>Average number of active hdfs reading threads This should be created in Open and stopped when all the scanner threads are done. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00168">168</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a62db63afa7d58a8566bd7fd95dee50ff"></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::ScanNode::AVERAGE_SCANNER_THREAD_CONCURRENCY</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">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;AverageScannerThreadConcurrency&quot;</span></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00132">132</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="ae95ad9baabf5949f80050506af7478b2"></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::ScanNode::average_scanner_thread_concurrency_</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>Average number of active scanner threads This should be created in Open and stopped when all the scanner threads are done. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00161">161</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8h_source.html#l00116">impala::ScanNode::average_scanner_thread_concurrency()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a4314960f2bdc1735835e98330837b8b8"></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::ScanNode::BYTES_READ_COUNTER = &quot;BytesRead&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>names of <a class="el" href="classimpala_1_1ScanNode.html" title="Abstract base class of all scan nodes; introduces SetScanRange(). ">ScanNode</a> common counters </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00121">121</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a852e26d5e63c13b30b1f2c7d986838f4"></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::ScanNode::bytes_read_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="scan-node_8h_source.html#l00140">140</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8h_source.html#l00095">impala::ScanNode::bytes_read_counter()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a9fab7b12afe81d6912442bef2d8131d4"></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::HdfsScanNode::bytes_read_dn_cache_</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 bytes read from data node cache. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00396">396</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="afb45aa3eeb7c9213fb1e809bccc51c38"></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::HdfsScanNode::bytes_read_local_</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 bytes read locally. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00390">390</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a9c972b92951c67686c0783ca2c554d2d"></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::HdfsScanNode::bytes_read_short_circuit_</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 bytes read via short circuit read. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00393">393</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a2ad7c54dcd92214281f21a2c7b524f9a"></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_1TimeSeriesCounter.html">RuntimeProfile::TimeSeriesCounter</a>* impala::ScanNode::bytes_read_timeseries_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>Time series of the bytes_read_counter_. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00142">142</a> of file <a class="el" href="scan-node_8h_source.html">scan-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="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="ab5b4aff8e7b124468f2b61ca63b87ab5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a>*&gt; impala::ExecNode::children_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00214">214</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="exec-node_8cc_source.html#l00359">impala::ExecNode::CollectNodes()</a>, <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00294">impala::HBaseScanNode::DebugString()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00088">impala::UnionNode::Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00107">impala::UnionNode::OpenCurrentChild()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00849">impala::PartitionedAggregationNode::ProcessStream()</a>, <a class="el" href="exec-node_8cc_source.html#l00159">impala::ExecNode::Reset()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p>
</div>
</div>
<a class="anchor" id="ae7f252f793570d19d71ef0c59ddb6eef"></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_1HdfsScanNode.html#ac4375070e4e1b3a2518b1a5be992cabb">CodegendFnMap</a> impala::HdfsScanNode::codegend_fn_map_</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="hdfs-scan-node_8h_source.html#l00324">324</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00224">GetCodegenFn()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a3e42cc1145e87bd01fcbb08b3963fbf8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*&gt; impala::HdfsScanNode::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>Contexts for each conjunct. These are cloned by the scanners so conjuncts can be safely evaluated in parallel. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00328">328</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00692">GetConjunctCtxs()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="abe7c2af2d420e7bffa13986bb2886892"></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::HdfsScanNode::counters_running_</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, counters are actively running and need to be reported in the runtime profile. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00438">438</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</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="a304fafe6def2c0514985b7a04f96d963"></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::HdfsScanNode::disks_accessed_bitmap_</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>Disk accessed bitmap. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00387">387</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a580fe2c16160fddc4cb49db528fedd79"></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::HdfsScanNode::done_</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>Flag signaling that all scanner threads are done. This could be because they are finished, an error/cancellation occurred, or the limit was reached. Setting this to true triggers the scanner threads to clean up. This should not be explicitly set. Instead, call <a class="el" href="classimpala_1_1HdfsScanNode.html#a9be5690e584ef1940004da01f85d7b31">SetDone()</a>. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00413">413</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scanner-context_8cc_source.html#l00282">impala::ScannerContext::cancelled()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="aa536e5c953d915df988c5bcbf24db9f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::mutex impala::ExecNode::exec_options_lock_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Execution options that are determined at runtime. This is added to the runtime profile at <a class="el" href="classimpala_1_1ExecNode.html#a726e2aca524ace8e4c043377e621285a">Close()</a>. Examples for options logged here would be "Codegen Enabled" </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00238">238</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>.</p>
</div>
</div>
<a class="anchor" id="a8574c9973af1609b90cef86ccc331141"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>&gt; impala::ExecNode::expr_mem_tracker_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classimpala_1_1MemTracker.html" title="This class is thread-safe. ">MemTracker</a> that should be used for ExprContexts. </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00233">233</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8h_source.html#l00163">impala::ExecNode::expr_mem_tracker()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a74b13953ea9d3088ce4759e8b2eae19a"></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_1HdfsScanNode.html#aa0371c03bcec2e667960172468f85a73">FileDescMap</a> impala::HdfsScanNode::file_descs_</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="hdfs-scan-node_8h_source.html#l00298">298</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00206">GetFileDesc()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a542d120245f434d86664d7bf6aad74d6"></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_1HdfsScanNode.html#a7b217f7eab6730e389a9ca9af118a3b6">FileTypeCountsMap</a> impala::HdfsScanNode::file_type_counts_</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="hdfs-scan-node_8h_source.html#l00434">434</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a718797e4e5fe972c8b398e011f2077a0"></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_1SpinLock.html">SpinLock</a> impala::HdfsScanNode::file_type_counts_lock_</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>Mapping of file formats (file type, compression type) to the number of splits of that type and the lock protecting it. This lock cannot be taken together with any other lock except lock_. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00431">431</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a00ea471438154ad56391ee19a39f12f0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>*&gt; impala::ScanNode::hdfs_read_thread_concurrency_bucket_</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>HDFS read thread concurrency bucket: bucket[i] refers to the number of sample taken where there are i concurrent hdfs read thread running </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00174">174</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="ac76e401eb1573dbcaf0acf7607fa308e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const string HdfsScanNode::HDFS_SPLIT_STATS_DESC</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;Hdfs split stats (&lt;volume id&gt;:&lt;# splits&gt;/&lt;split lengths&gt;)&quot;</span></div>
</div><!-- fragment -->
<p>Description string for the per volume stats output. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00265">265</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00284">impala::PlanFragmentExecutor::PrintVolumeIds()</a>.</p>
</div>
</div>
<a class="anchor" id="ad901cf20831c82d3e4de0b57be69b2bf"></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_1HdfsTableDescriptor.html">HdfsTableDescriptor</a>* impala::HdfsScanNode::hdfs_table_</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>Descriptor for the hdfs table, including partition and format metadata. Set in Prepare, owned by <a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00287">287</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00134">hdfs_table()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00127">num_partition_keys()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a2d543ec055a04199286b52d23a82280f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::ExecNode::id_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00209">209</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00729">impala::PartitionedAggregationNode::CreateHashPartitions()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="exec-node_8cc_source.html#l00371">impala::ExecNode::InitRuntimeProfile()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00771">impala::PartitionedAggregationNode::NextPartition()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">impala::PartitionedHashJoinNode::PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p>
</div>
</div>
<a class="anchor" id="afc4101dbe061d2baf01e663bf0827666"></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::HdfsScanNode::initial_ranges_issued_</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>Set to true when the initial scan ranges are issued to the IoMgr. This happens on the first call to <a class="el" href="classimpala_1_1HdfsScanNode.html#a7d9631e3dbf9ec410699953759694890">GetNext()</a>. The token manager, in a different thread, will read this variable. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00307">307</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">GetNext()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="a92415c71b4eb2375813f14dc5e863958"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;char&gt; impala::HdfsScanNode::is_materialized_col_</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>is_materialized_col_[i] = &lt;true i-th column should be materialized, false otherwise&gt; for 0 &lt;= i &lt; total # columns This should be a vector&lt;bool&gt;, but bool vectors are special-cased and not stored internally as arrays, so instead we store as chars and cast to bools as needed </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00339">339</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8h_source.html#l00160">is_materialized_col()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</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">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">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="abd87b83ac93c6f0c6527834cd6ca20ff"></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::HdfsScanNode::lock_</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>Lock protects access between scanner thread and main query thread (the one calling <a class="el" href="classimpala_1_1HdfsScanNode.html#a7d9631e3dbf9ec410699953759694890">GetNext()</a>) for all fields below. If this lock and any other locks needs to be taken together, this lock must be taken first. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00407">407</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">GetNextInternal()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00289">InitEmptyTemplateTuple()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00270">InitTemplateTuple()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00299">TransferToScanNodePool()</a>.</p>
</div>
</div>
<a class="anchor" id="af28cc61c75e0df2bb12409252ae1d9f2"></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::ScanNode::MATERIALIZE_TUPLE_TIMER = &quot;MaterializeTupleTime(*)&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00128">128</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="aa0b54308dfad8accbc1fb028d32b8b2b"></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::ScanNode::materialize_tuple_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="scan-node_8h_source.html#l00151">151</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8h_source.html#l00104">impala::ScanNode::materialize_tuple_timer()</a>, and <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a60f0a321960a9a4e7eea0ee391c9c609"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1ExecNode_1_1RowBatchQueue.html">RowBatchQueue</a>&gt; impala::HdfsScanNode::materialized_row_batches_</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>Outgoing row batches queue. Row batches are produced asynchronously by the scanner threads and consumed by the main thread. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00363">363</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00688">AddMaterializedRowBatch()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">GetNextInternal()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00081">HdfsScanNode()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="a3f8c2ca9b6847e98d8e244045d11e6cf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a>*&gt; impala::HdfsScanNode::materialized_slots_</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>Vector containing slot descriptors for all materialized non-partition key slots. These descriptors are sorted in order of increasing col_pos TODO: Put this (with associated fields and logic) on <a class="el" href="classimpala_1_1ScanNode.html" title="Abstract base class of all scan nodes; introduces SetScanRange(). ">ScanNode</a> or <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00344">344</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8h_source.html#l00119">materialized_slots()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ad47ca48f0333ef0fb46b8b121dc05ee6"></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::HdfsScanNode::max_compressed_text_file_length_</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 size of the largest compressed text file to be scanned. This is used to estimate scanner thread memory usage. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00384">384</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8h_source.html#l00140">max_compressed_text_file_length()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="aab71d9b6396bcb23c19121c55b4d614a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsScanNode::max_materialized_row_batches_</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>Maximum size of materialized_row_batches_. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00366">366</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00081">HdfsScanNode()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="aba2362d7d1816b4f90f3e1f6768accd1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>&gt; impala::ExecNode::mem_tracker_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Account for peak memory used by this node. </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00230">230</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a8e5bc2dfac6a939e33916170d3bd0ce9"></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::HdfsScanNode::metadata_lock_</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>Scanner specific per file metadata (e.g. header information) and associated lock. This lock cannot be taken together with any other locks except lock_. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00355">355</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00217">GetFileMetadata()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00211">SetFileMetadata()</a>.</p>
</div>
</div>
<a class="anchor" id="a116d2bfc4460bc72e46ac1a8877d0063"></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::ScanNode::NUM_DISKS_ACCESSED_COUNTER = &quot;NumDisksAccessed&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00127">127</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="aee32dbcc86bd092c4bf68ee783a4bab5"></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::ScanNode::num_disks_accessed_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="scan-node_8h_source.html#l00150">150</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a8fc97ba80ecdfc4bf37198de772d3f5c"></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_1AtomicInt.html">AtomicInt</a>&lt;int&gt; impala::HdfsScanNode::num_owned_io_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>This is the number of io buffers that are owned by the scan node and the scanners. This is used just to help debug leaked io buffers to determine if the leak is happening in the scanners vs other parts of the execution. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00371">371</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">GetNextInternal()</a>.</p>
</div>
</div>
<a class="anchor" id="a7ccd8c0369afce6502d98f04dc8e08ea"></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::HdfsScanNode::num_remote_ranges_</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 remote scan ranges. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00399">399</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a9789aeca3e98cda63998a8f47d355fd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t impala::ExecNode::num_rows_returned_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00223">223</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="exec-node_8h_source.html#l00159">impala::ExecNode::ReachedLimit()</a>, and <a class="el" href="exec-node_8h_source.html#l00157">impala::ExecNode::rows_returned()</a>.</p>
</div>
</div>
<a class="anchor" id="ab665916f0d8fc80d37fd92496746fe8b"></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::ScanNode::NUM_SCANNER_THREADS_STARTED</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">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;NumScannerThreadsStarted&quot;</span></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00134">134</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="a30641df011a5d74c6c94788732d45c9c"></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::ScanNode::num_scanner_threads_started_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="scan-node_8h_source.html#l00170">170</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="a5cb39ea4d1c5d642772bf2fc094c81d8"></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_1AtomicInt.html">AtomicInt</a>&lt;int&gt; impala::HdfsScanNode::num_scanners_codegen_disabled_</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="hdfs-scan-node_8h_source.html#l00380">380</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8h_source.html#l00172">IncNumScannersCodegenDisabled()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a658528dff2574432a3475e0d2f78a055"></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_1AtomicInt.html">AtomicInt</a>&lt;int&gt; impala::HdfsScanNode::num_scanners_codegen_enabled_</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>Counters which track the number of scanners that have codegen enabled for the materialize and conjuncts evaluation code paths. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00379">379</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8h_source.html#l00168">IncNumScannersCodegenEnabled()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="acbd16700f4e92fdb1962a403bd85da27"></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_1AtomicInt.html">AtomicInt</a>&lt;int&gt; impala::HdfsScanNode::num_skipped_tokens_</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 number of times a token was offered but no scanner threads started. This is used for diagnostics only. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00375">375</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="ad1db57d94bc4018fcb09cbe70468bb47"></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_1AtomicInt.html">AtomicInt</a>&lt;int&gt; impala::HdfsScanNode::num_unqueued_files_</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 files that have not been issued from the scanners. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00315">315</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00683">MarkFileDescIssued()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>.</p>
</div>
</div>
<a class="anchor" id="af444c3702443d0b5aa625b2f8df66383"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::unordered_set&lt;int64_t&gt; impala::HdfsScanNode::partition_ids_</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 scanned by this scan node. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00294">294</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ad42b3a29c6f2c9a993e5b23ba29ac8ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a>*&gt; impala::HdfsScanNode::partition_key_slots_</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>Vector containing slot descriptors for all materialized partition key slots These descriptors are sorted in order of increasing col_pos </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00348">348</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00270">InitTemplateTuple()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00130">num_materialized_partition_keys()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a127b325a03028a354511580f11bba31d"></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_1HdfsScanNode.html#abc6fdba50dd431c495316d84f3998614">PathToSlotIdxMap</a> impala::HdfsScanNode::path_to_materialized_slot_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>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00332">332</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8h_source.html#l00152">GetMaterializedSlotIdx()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="aaf3405bb4186382f75ad04571c68f8aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::map&lt;std::string, void*&gt; impala::HdfsScanNode::per_file_metadata_</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="hdfs-scan-node_8h_source.html#l00356">356</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00217">GetFileMetadata()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00211">SetFileMetadata()</a>.</p>
</div>
</div>
<a class="anchor" id="a4f56b81443bb1b8099b589ba1855d343"></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::ScanNode::PER_READ_THREAD_THROUGHPUT_COUNTER</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">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;PerReadThreadRawHdfsThroughput&quot;</span></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00126">126</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="a40135ae832675ff6feca8bb198fc2ee1"></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::ScanNode::per_read_thread_throughput_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>Per thread read throughput [bytes/sec]. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00149">149</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="scan-node_8h_source.html#l00101">impala::ScanNode::per_read_thread_throughput_counter()</a>.</p>
</div>
</div>
<a class="anchor" id="ab93bb6f89c7be5d1734683de7fb4f187"></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_1HdfsScanNode.html#a1c384d9e1e229911cc357c8bdbc47922">FileFormatsMap</a> impala::HdfsScanNode::per_type_files_</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="hdfs-scan-node_8h_source.html#l00302">302</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">GetNext()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ac55aaa21c7750fd5f8774aee1ac5211a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a>* impala::ExecNode::pool_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00211">211</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00034">impala::SortNode::Init()</a>, <a class="el" href="union-node_8cc_source.html#l00038">impala::UnionNode::Init()</a>, <a class="el" href="topn-node_8cc_source.html#l00044">impala::TopNNode::Init()</a>, <a class="el" href="exchange-node_8cc_source.html#l00051">impala::ExchangeNode::Init()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00062">impala::HashJoinNode::Init()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00072">impala::AggregationNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00124">impala::ExecNode::Init()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">impala::PartitionedHashJoinNode::Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00094">impala::AnalyticEvalNode::Init()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00082">impala::PartitionedAggregationNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00371">impala::ExecNode::InitRuntimeProfile()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>.</p>
</div>
</div>
<a class="anchor" id="a0251d57ef9bff48b95436210074207d3"></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_1ProgressUpdater.html">ProgressUpdater</a> impala::HdfsScanNode::progress_</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>Keeps track of total splits and the number finished. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00351">351</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="a230df199438eeac9776358b9ebea0d63"></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::ScanNode::read_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="scan-node_8h_source.html#l00145">145</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00056">impala::HBaseScanNode::Prepare()</a>, and <a class="el" href="scan-node_8h_source.html#l00097">impala::ScanNode::read_timer()</a>.</p>
</div>
</div>
<a class="anchor" id="ab1601b1dfcbb9cd167064ed90c258b1f"></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_1DiskIoMgr_1_1RequestContext.html">DiskIoMgr::RequestContext</a>* impala::HdfsScanNode::reader_context_</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>RequestContext object to use with the disk-io-mgr for reads. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00280">280</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00674">AddDiskIoRanges()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00138">reader_context()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a10a9ceb6d7fcd9bbfe6c4217ba5b7081"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t impala::HdfsScanNode::rm_callback_id_</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 id of the callback added to the query resource manager when RM is enabled. Used to remove the callback before this scan node is destroyed. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00442">442</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="a900a9e0a75e9839f9c6d4658518944b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> impala::ExecNode::row_descriptor_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00215">215</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, and <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>.</p>
</div>
</div>
<a class="anchor" id="a514778516fb852eed80c2e98bf08fac2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const string impala::ExecNode::ROW_THROUGHPUT_COUNTER = &quot;RowsReturnedRate&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Names of counters shared by all exec nodes. </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00169">169</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a51ac8959ad6f88862d981f8c12161e76"></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::ScanNode::ROWS_READ_COUNTER = &quot;RowsRead&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00122">122</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a8a0a7ff72596eee2c6863d62a4e73749"></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::ScanNode::rows_read_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><h1>rows/tuples read from the scanner (including those discarded by EvalConjucts())</h1>
</p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00144">144</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, and <a class="el" href="scan-node_8h_source.html#l00096">impala::ScanNode::rows_read_counter()</a>.</p>
</div>
</div>
<a class="anchor" id="a632a4cdd4c654f362f630936c5ecb29a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::ExecNode::rows_returned_counter_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00226">226</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a1fda03b2e215e5fac1352403ae737030"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::ExecNode::rows_returned_rate_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00227">227</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a6e72d8a73cfdc5ab09f6bafcca6f8411"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string impala::ExecNode::runtime_exec_options_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00239">239</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>.</p>
</div>
</div>
<a class="anchor" id="a9cab4e45a94527ff97333c0f280036f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>&gt; impala::ExecNode::runtime_profile_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00225">225</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="hbase-scan-node_8cc_source.html#l00277">impala::HBaseScanNode::Close()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">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">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">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">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="ad9d54aba37c0dd0f969321bdb416bb6e"></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::HdfsScanNode::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="hdfs-scan-node_8h_source.html#l00274">274</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00674">AddDiskIoRanges()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00183">AllocateScanRange()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00956">ComputeSlotMaterializationOrder()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00230">CreateAndPrepareScanner()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00692">GetConjunctCtxs()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00136">runtime_state()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00944">SetDone()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="a8f972231e2cb705cfbaa14c7290923c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1MemPool.html">MemPool</a>&gt; impala::HdfsScanNode::scan_node_pool_</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>Pool for allocating some amounts of memory that is shared between scanners. e.g. partition key tuple and their string buffers </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00421">421</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00289">InitEmptyTemplateTuple()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00299">TransferToScanNodePool()</a>.</p>
</div>
</div>
<a class="anchor" id="aa642d2e5f805e720e724bfa3dce1bc81"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;TScanRangeParams&gt;* impala::ScanNode::scan_range_params_</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>The scan ranges this scan node is responsible for. Not owned. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00138">138</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hbase-scan-node_8cc_source.html#l00056">impala::HBaseScanNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="scan-node_8h_source.html#l00089">impala::ScanNode::SetScanRanges()</a>.</p>
</div>
</div>
<a class="anchor" id="a86d533cdcfa34c18ae02db91536e0d4c"></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::ScanNode::SCAN_RANGES_COMPLETE_COUNTER = &quot;ScanRangesComplete&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00129">129</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="a52caf60333f4f60a19c7a31df81babcc"></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::ScanNode::scan_ranges_complete_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="scan-node_8h_source.html#l00152">152</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="scan-node_8h_source.html#l00107">impala::ScanNode::scan_ranges_complete_counter()</a>.</p>
</div>
</div>
<a class="anchor" id="a72a77ba5cf7b82e286b4e384a9a4a8fc"></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_1HdfsScanNode.html#ac0430ab4b57e1f355c611fc141a69e07">ScannerMap</a> impala::HdfsScanNode::scanner_map_</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="hdfs-scan-node_8h_source.html#l00320">320</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9f43b5a5a502530c82e0fe164dc80ad7"></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::HdfsScanNode::scanner_thread_bytes_required_</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 estimated memory required to start up a new scanner thread. If the memory left (due to limits) is less than this value, we won't start up optional scanner threads. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00312">312</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00706">EnoughMemoryForScannerThread()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ae5afafa887c1de83ccce1a4e4a0a33eb"></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_1ThreadCounters.html">RuntimeProfile::ThreadCounters</a>* impala::ScanNode::scanner_thread_counters_</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>Aggregated scanner thread counters. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00154">154</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, and <a class="el" href="scan-node_8h_source.html#l00110">impala::ScanNode::scanner_thread_counters()</a>.</p>
</div>
</div>
<a class="anchor" id="aed1fb21c0eebbd1facf10216991a35e3"></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::ScanNode::SCANNER_THREAD_COUNTERS_PREFIX = &quot;ScannerThreads&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00130">130</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a2900a9f8c0b94bcee39cf76c8784c373"></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::ScanNode::SCANNER_THREAD_TOTAL_WALLCLOCK_TIME</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">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;ScannerThreadsTotalWallClockTime&quot;</span></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00131">131</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-text-scanner_8cc_source.html#l00620">impala::HdfsTextScanner::Prepare()</a>, and <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a09ef012e32f510ba3d304f4aa6272e45"></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_1ThreadGroup.html">ThreadGroup</a> impala::HdfsScanNode::scanner_threads_</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_1Thread.html" title="TODO: Consider allowing fragment IDs as category parameters. ">Thread</a> group for all scanner worker threads. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00359">359</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00729">ThreadTokenAvailableCb()</a>.</p>
</div>
</div>
<a class="anchor" id="ac6d4b9ccf63d7b36ff869d8e1230cc13"></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::HdfsScanNode::SKIP_COLUMN = -1</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00144">144</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00691">impala::HdfsAvroScanner::CodegenMaterializeTuple()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00152">GetMaterializedSlotIdx()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">impala::HdfsRCFileScanner::InitNewRange()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>.</p>
</div>
</div>
<a class="anchor" id="a79a5cce2cd5ab6e165bed160988ea6e5"></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::HdfsScanNode::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><a class="el" href="classimpala_1_1Status.html">Status</a> of failed operations. This is set in the ScannerThreads Returned in <a class="el" href="classimpala_1_1HdfsScanNode.html#a7d9631e3dbf9ec410699953759694890">GetNext()</a> if an error occurred. An non-ok status triggers cleanup scanner threads. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00426">426</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">GetNextInternal()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">ScannerThread()</a>.</p>
</div>
</div>
<a class="anchor" id="ac373fee18a1d5212b15430c3894eec0c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;TPlanNode&gt; impala::HdfsScanNode::thrift_plan_node_</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 plan node. This is needed to be able to create a copy of the conjuncts per scanner since our Exprs are not thread safe. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00272">272</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a0ece8582bfd396fc1d3f1485ac2a7129"></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::ScanNode::TOTAL_HBASE_READ_TIMER = &quot;TotalRawHBaseReadTime(*)&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00124">124</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hbase-scan-node_8cc_source.html#l00056">impala::HBaseScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ab1628dc30ae6fb5ee939dab75a9a3188"></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::ScanNode::TOTAL_HDFS_READ_TIMER = &quot;TotalRawHdfsReadTime(*)&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00123">123</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="ab56d0e228f9b992bf4eb15a24808be43"></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::ScanNode::TOTAL_THROUGHPUT_COUNTER = &quot;TotalReadThroughput&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00125">125</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a905bbf0ce0777d28125ed94ea2f14fbf"></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::ScanNode::total_throughput_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>Wall based aggregate read throughput [bytes/sec]. </p>
<p>Definition at line <a class="el" href="scan-node_8h_source.html#l00147">147</a> of file <a class="el" href="scan-node_8h_source.html">scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, and <a class="el" href="scan-node_8h_source.html#l00098">impala::ScanNode::total_throughput_counter()</a>.</p>
</div>
</div>
<a class="anchor" id="af19f532386cf41d53a8ae23a846f8a7b"></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_1TupleDescriptor.html">TupleDescriptor</a>* impala::HdfsScanNode::tuple_desc_</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>Descriptor for tuples this scan node constructs. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00283">283</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00289">InitEmptyTemplateTuple()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00132">tuple_desc()</a>.</p>
</div>
</div>
<a class="anchor" id="a32e89b2799d3cd38fc4dad00224b5163"></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::HdfsScanNode::tuple_id_</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_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> id resolved in <a class="el" href="classimpala_1_1HdfsScanNode.html#a265b144314da1ba14edde43893493c0d" title="ExecNode methods. ">Prepare()</a> to set tuple_desc_;. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00277">277</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</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="ac80894a195ac409e4bd10f004cc9dfb4"></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::HdfsScanNode::unexpected_remote_bytes_</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 bytes read remotely that were expected to be local. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00402">402</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">Open()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a3bdd3961f80bd4eaa94b5967b3214b5f"></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::HdfsScanNode::unknown_disk_id_warned_</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 warning that some disk ids are unknown was logged. Only log this once per scan node since it can be noisy. </p>
<p>Definition at line <a class="el" href="hdfs-scan-node_8h_source.html#l00291">291</a> of file <a class="el" href="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">Prepare()</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="hdfs-scan-node_8h_source.html">hdfs-scan-node.h</a></li>
<li>be/src/exec/<a class="el" href="hdfs-scan-node_8cc_source.html">hdfs-scan-node.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceimpala.html">impala</a></li><li class="navelem"><a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a></li>
<li class="footer">Generated on Thu May 7 2015 16:10:47 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>