blob: e9f8e8250c2b8cfc4d5ec4efb46d4d2c6c387775 [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::HdfsRCFileScanner 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_1HdfsRCFileScanner.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="#nested-classes">Classes</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-types">Protected Types</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="#pro-static-attribs">Static 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="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="classimpala_1_1HdfsRCFileScanner-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">impala::HdfsRCFileScanner Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A scanner for reading RCFiles into tuples.
<a href="classimpala_1_1HdfsRCFileScanner.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for impala::HdfsRCFileScanner:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1HdfsRCFileScanner__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::HdfsRCFileScanner:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1HdfsRCFileScanner__coll__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structimpala_1_1HdfsRCFileScanner_1_1ColumnInfo.html">ColumnInfo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structimpala_1_1HdfsRCFileScanner_1_1RcFileHeader.html">RcFileHeader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data that is fixed across headers. This struct is shared between scan ranges. <a href="structimpala_1_1HdfsRCFileScanner_1_1RcFileHeader.html#details">More...</a><br/></td></tr>
<tr class="separator:"><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:a6be0fdde28d29131b5b807b41e30b907"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a6be0fdde28d29131b5b807b41e30b907">HdfsRCFileScanner</a> (<a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> *scan_node, <a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:a6be0fdde28d29131b5b807b41e30b907"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10f91af29c426ba3395749b679f35c3c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a10f91af29c426ba3395749b679f35c3c">~HdfsRCFileScanner</a> ()</td></tr>
<tr class="separator:a10f91af29c426ba3395749b679f35c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac619ad303abae210fffd496b9665e4e0"><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_1HdfsRCFileScanner.html#ac619ad303abae210fffd496b9665e4e0">Prepare</a> (<a class="el" href="classimpala_1_1ScannerContext.html">ScannerContext</a> *context)</td></tr>
<tr class="memdesc:ac619ad303abae210fffd496b9665e4e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">One-time initialisation of state that is constant across scan ranges. <a href="#ac619ad303abae210fffd496b9665e4e0">More...</a><br/></td></tr>
<tr class="separator:ac619ad303abae210fffd496b9665e4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00ff7c6c7d5493eee9e682a2094ccee5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a00ff7c6c7d5493eee9e682a2094ccee5">DebugString</a> (int indentation_level, std::stringstream *out) const </td></tr>
<tr class="separator:a00ff7c6c7d5493eee9e682a2094ccee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a37621b600b55d162832e8744fc6a17"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BaseSequenceScanner.html#a1a37621b600b55d162832e8744fc6a17">Close</a> ()</td></tr>
<tr class="separator:a1a37621b600b55d162832e8744fc6a17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc59a2d650453eb5c12670519342c846"><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_1BaseSequenceScanner.html#acc59a2d650453eb5c12670519342c846">ProcessSplit</a> ()</td></tr>
<tr class="separator:acc59a2d650453eb5c12670519342c846"><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:a6b84385660f88ed592fd61ac62c15793"><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_1BaseSequenceScanner.html#a6b84385660f88ed592fd61ac62c15793">IssueInitialRanges</a> (<a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> *scan_node, const std::vector&lt; <a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> * &gt; &amp;files)</td></tr>
<tr class="memdesc:a6b84385660f88ed592fd61ac62c15793"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue the initial ranges for all sequence container files. <a href="#a6b84385660f88ed592fd61ac62c15793">More...</a><br/></td></tr>
<tr class="separator:a6b84385660f88ed592fd61ac62c15793"><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:a0df2c19265535245917d3bb3b6095ba7"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a0df2c19265535245917d3bb3b6095ba7">FILE_BLOCK_SIZE</a> = 4096</td></tr>
<tr class="separator:a0df2c19265535245917d3bb3b6095ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0fa3a63201936de45a12623cef65e74"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#aa0fa3a63201936de45a12623cef65e74">LLVM_CLASS_NAME</a> = &quot;class.impala::HdfsScanner&quot;</td></tr>
<tr class="separator:aa0fa3a63201936de45a12623cef65e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a1875e5409fedbadf979001ef761ae753"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a1875e5409fedbadf979001ef761ae753">WriteTuplesFn</a> )(<a class="el" href="classimpala_1_1HdfsScanner.html">HdfsScanner</a> *, <a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *, int, <a class="el" href="structimpala_1_1FieldLocation.html">FieldLocation</a> *, int, int, int, int)</td></tr>
<tr class="separator:a1875e5409fedbadf979001ef761ae753"><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:a38bb92ef6416325aefafbcaed8f5010c"><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_1BaseSequenceScanner.html#a38bb92ef6416325aefafbcaed8f5010c">ReadSync</a> ()</td></tr>
<tr class="separator:a38bb92ef6416325aefafbcaed8f5010c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac583e95bbd1397d0ecbe526e7a35a445"><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_1BaseSequenceScanner.html#ac583e95bbd1397d0ecbe526e7a35a445">SkipToSync</a> (const uint8_t *sync, int sync_size)</td></tr>
<tr class="separator:ac583e95bbd1397d0ecbe526e7a35a445"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18b91ec35300d95c96b3203034a7c3f0"><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_1BaseSequenceScanner.html#a18b91ec35300d95c96b3203034a7c3f0">finished</a> ()</td></tr>
<tr class="separator:a18b91ec35300d95c96b3203034a7c3f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adab08ccc8e27d64a6473683eabaadb84"><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_1HdfsScanner.html#adab08ccc8e27d64a6473683eabaadb84">InitializeWriteTuplesFn</a> (<a class="el" href="classimpala_1_1HdfsPartitionDescriptor.html">HdfsPartitionDescriptor</a> *partition, THdfsFileFormat::type type, const std::string &amp;scanner_name)</td></tr>
<tr class="separator:adab08ccc8e27d64a6473683eabaadb84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a370d072e6ebd37891c012fc9da453133"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a370d072e6ebd37891c012fc9da453133">StartNewRowBatch</a> ()</td></tr>
<tr class="memdesc:a370d072e6ebd37891c012fc9da453133"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set batch_ to a new row batch and update tuple_mem_ accordingly. <a href="#a370d072e6ebd37891c012fc9da453133">More...</a><br/></td></tr>
<tr class="separator:a370d072e6ebd37891c012fc9da453133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2a391565eba0ab7cf58a7a024032220"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#ac2a391565eba0ab7cf58a7a024032220">GetMemory</a> (<a class="el" href="classimpala_1_1MemPool.html">MemPool</a> **<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, <a class="el" href="classimpala_1_1Tuple.html">Tuple</a> **tuple_mem, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> **tuple_row_mem)</td></tr>
<tr class="separator:ac2a391565eba0ab7cf58a7a024032220"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab72a9901f5c1c2cb0f053ce6ad45d9b6"><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_1HdfsScanner.html#ab72a9901f5c1c2cb0f053ce6ad45d9b6">CommitRows</a> (int num_rows)</td></tr>
<tr class="separator:ab72a9901f5c1c2cb0f053ce6ad45d9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36e661fbaff23879b78f53cdc1a56552"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a36e661fbaff23879b78f53cdc1a56552">AddFinalRowBatch</a> ()</td></tr>
<tr class="separator:a36e661fbaff23879b78f53cdc1a56552"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94b437624601d6e7626e9b3d59cd87da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a94b437624601d6e7626e9b3d59cd87da">AttachPool</a> (<a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, <a class="el" href="classbool.html">bool</a> commit_batch)</td></tr>
<tr class="separator:a94b437624601d6e7626e9b3d59cd87da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa329170edaabadb0f1ff94de121b3cec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> <a class="el" href="impala-ir_8h.html#af2b653018219cda8c9a2d9efc0ce3f44">IR_ALWAYS_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#aa329170edaabadb0f1ff94de121b3cec">EvalConjuncts</a> (<a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr>
<tr class="separator:aa329170edaabadb0f1ff94de121b3cec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5a25b22a0fb0b5bea62602fe224b021"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#af5a25b22a0fb0b5bea62602fe224b021">WriteEmptyTuples</a> (<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *row_batch, int num_tuples)</td></tr>
<tr class="separator:af5a25b22a0fb0b5bea62602fe224b021"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae748aa64d908ff8a1fdcf3ae942ee51c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#ae748aa64d908ff8a1fdcf3ae942ee51c">WriteEmptyTuples</a> (<a class="el" href="classimpala_1_1ScannerContext.html">ScannerContext</a> *context, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *tuple_row, int num_tuples)</td></tr>
<tr class="memdesc:ae748aa64d908ff8a1fdcf3ae942ee51c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write empty tuples and commit them to the context object. <a href="#ae748aa64d908ff8a1fdcf3ae942ee51c">More...</a><br/></td></tr>
<tr class="separator:ae748aa64d908ff8a1fdcf3ae942ee51c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac95a9d24d8da6d038c93b177c9c48e6b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#ac95a9d24d8da6d038c93b177c9c48e6b">WriteAlignedTuples</a> (<a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *tuple_row_mem, int row_size, <a class="el" href="structimpala_1_1FieldLocation.html">FieldLocation</a> *fields, int num_tuples, int max_added_tuples, int slots_per_tuple, int row_start_indx)</td></tr>
<tr class="separator:ac95a9d24d8da6d038c93b177c9c48e6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7c78e78c88f81f7ff9d87ed12eece4e"><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_1HdfsScanner.html#ab7c78e78c88f81f7ff9d87ed12eece4e">UpdateDecompressor</a> (const THdfsCompression::type &amp;compression)</td></tr>
<tr class="separator:ab7c78e78c88f81f7ff9d87ed12eece4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aace11af0dd18b9d9dbf7afbc74dab1ba"><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_1HdfsScanner.html#aace11af0dd18b9d9dbf7afbc74dab1ba">UpdateDecompressor</a> (const std::string &amp;codec)</td></tr>
<tr class="separator:aace11af0dd18b9d9dbf7afbc74dab1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd378fe0f2500a3a63012c7b33be4c90"><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_1HdfsScanner.html#afd378fe0f2500a3a63012c7b33be4c90">ReportTupleParseError</a> (<a class="el" href="structimpala_1_1FieldLocation.html">FieldLocation</a> *fields, uint8_t *errors, int row_idx)</td></tr>
<tr class="separator:afd378fe0f2500a3a63012c7b33be4c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe2965c538acda676b3a3627ff614ee"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#adfe2965c538acda676b3a3627ff614ee">LogRowParseError</a> (int row_idx, std::stringstream *)</td></tr>
<tr class="separator:adfe2965c538acda676b3a3627ff614ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6bf05f906b32b58d7df914cbd115492"><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_1HdfsScanner.html#ad6bf05f906b32b58d7df914cbd115492">WriteCompleteTuple</a> (<a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, <a class="el" href="structimpala_1_1FieldLocation.html">FieldLocation</a> *fields, <a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *tuple, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *tuple_row, <a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *template_tuple, uint8_t *error_fields, uint8_t *error_in_row)</td></tr>
<tr class="separator:ad6bf05f906b32b58d7df914cbd115492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae05ee8b2f0b254228afcf6abf540f8f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#ae05ee8b2f0b254228afcf6abf540f8f4">ReportColumnParseError</a> (const <a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> *desc, const char *data, int len)</td></tr>
<tr class="separator:ae05ee8b2f0b254228afcf6abf540f8f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accd7ea935f503dfe61c1570d1b9c07d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#accd7ea935f503dfe61c1570d1b9c07d8">InitTuple</a> (<a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *template_tuple, <a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *tuple)</td></tr>
<tr class="separator:accd7ea935f503dfe61c1570d1b9c07d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ea24bc3f271386fe3e24336c7956ca7"><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_1HdfsScanner.html#a2ea24bc3f271386fe3e24336c7956ca7">next_tuple</a> (<a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *t) const </td></tr>
<tr class="separator:a2ea24bc3f271386fe3e24336c7956ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2cf3a0764b67bb1a1733daaa772e045"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#ae2cf3a0764b67bb1a1733daaa772e045">next_row</a> (<a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *r) const </td></tr>
<tr class="separator:ae2cf3a0764b67bb1a1733daaa772e045"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77ca8ddf41e61984b20255881759ef99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a77ca8ddf41e61984b20255881759ef99">GetConjunctCtx</a> (int idx) const </td></tr>
<tr class="separator:a77ca8ddf41e61984b20255881759ef99"><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:ab0d4c09c4bacaf57bf5bf238da3cd5e8"><td class="memItemLeft" align="right" valign="top">static llvm::Function *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#ab0d4c09c4bacaf57bf5bf238da3cd5e8">CodegenWriteCompleteTuple</a> (<a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> *, <a class="el" href="classimpala_1_1LlvmCodeGen.html">LlvmCodeGen</a> *, const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;conjunct_ctxs)</td></tr>
<tr class="separator:ab0d4c09c4bacaf57bf5bf238da3cd5e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac18b5e53c864fa9ac9a574e00518a4a"><td class="memItemLeft" align="right" valign="top">static llvm::Function *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#aac18b5e53c864fa9ac9a574e00518a4a">CodegenWriteAlignedTuples</a> (<a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> *, <a class="el" href="classimpala_1_1LlvmCodeGen.html">LlvmCodeGen</a> *, llvm::Function *write_tuple_fn)</td></tr>
<tr class="separator:aac18b5e53c864fa9ac9a574e00518a4a"><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:ac7f1cf14b61ed091ee80c4f2dbadba4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structimpala_1_1BaseSequenceScanner_1_1FileHeader.html">FileHeader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BaseSequenceScanner.html#ac7f1cf14b61ed091ee80c4f2dbadba4c">header_</a></td></tr>
<tr class="memdesc:ac7f1cf14b61ed091ee80c4f2dbadba4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">File header for this scan range. This is not owned by the parent scan node. <a href="#ac7f1cf14b61ed091ee80c4f2dbadba4c">More...</a><br/></td></tr>
<tr class="separator:ac7f1cf14b61ed091ee80c4f2dbadba4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0184e49248bc243ed45c77b8fb7aeac4"><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_1BaseSequenceScanner.html#a0184e49248bc243ed45c77b8fb7aeac4">only_parsing_header_</a></td></tr>
<tr class="memdesc:a0184e49248bc243ed45c77b8fb7aeac4"><td class="mdescLeft">&#160;</td><td class="mdescRight">If true, this scanner object is only for processing the header. <a href="#a0184e49248bc243ed45c77b8fb7aeac4">More...</a><br/></td></tr>
<tr class="separator:a0184e49248bc243ed45c77b8fb7aeac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b361d5cc69ef26b606349a26c1a8415"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a1b361d5cc69ef26b606349a26c1a8415">scan_node_</a></td></tr>
<tr class="memdesc:a1b361d5cc69ef26b606349a26c1a8415"><td class="mdescLeft">&#160;</td><td class="mdescRight">The scan node that started this scanner. <a href="#a1b361d5cc69ef26b606349a26c1a8415">More...</a><br/></td></tr>
<tr class="separator:a1b361d5cc69ef26b606349a26c1a8415"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d1c8ea0d46e9378c6db2c24395a3f78"><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_1HdfsScanner.html#a8d1c8ea0d46e9378c6db2c24395a3f78">state_</a></td></tr>
<tr class="memdesc:a8d1c8ea0d46e9378c6db2c24395a3f78"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> for error reporting. <a href="#a8d1c8ea0d46e9378c6db2c24395a3f78">More...</a><br/></td></tr>
<tr class="separator:a8d1c8ea0d46e9378c6db2c24395a3f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c1f7899de6ac5baca6914640f4859f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ScannerContext.html">ScannerContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a6c1f7899de6ac5baca6914640f4859f4">context_</a></td></tr>
<tr class="memdesc:a6c1f7899de6ac5baca6914640f4859f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Context for this scanner. <a href="#a6c1f7899de6ac5baca6914640f4859f4">More...</a><br/></td></tr>
<tr class="separator:a6c1f7899de6ac5baca6914640f4859f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa539050780939fc85267c63e9f262e05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ScannerContext_1_1Stream.html">ScannerContext::Stream</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#aa539050780939fc85267c63e9f262e05">stream_</a></td></tr>
<tr class="memdesc:aa539050780939fc85267c63e9f262e05"><td class="mdescLeft">&#160;</td><td class="mdescRight">The first stream for context_. <a href="#aa539050780939fc85267c63e9f262e05">More...</a><br/></td></tr>
<tr class="separator:aa539050780939fc85267c63e9f262e05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb3a3d0ceb454e1ea3aa549786e45fac"><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_1HdfsScanner.html#afb3a3d0ceb454e1ea3aa549786e45fac">conjunct_ctxs_</a></td></tr>
<tr class="separator:afb3a3d0ceb454e1ea3aa549786e45fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1088c4f13acd1a6374c2693041f372e"><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_1HdfsScanner.html#af1088c4f13acd1a6374c2693041f372e">template_tuple_</a></td></tr>
<tr class="separator:af1088c4f13acd1a6374c2693041f372e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80ed99fe7814a4047c9220d31fc57536"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a80ed99fe7814a4047c9220d31fc57536">tuple_byte_size_</a></td></tr>
<tr class="memdesc:a80ed99fe7814a4047c9220d31fc57536"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fixed size of each tuple, in bytes. <a href="#a80ed99fe7814a4047c9220d31fc57536">More...</a><br/></td></tr>
<tr class="separator:a80ed99fe7814a4047c9220d31fc57536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f92b70b3120fbf0b5ed833d26176c39"><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_1HdfsScanner.html#a0f92b70b3120fbf0b5ed833d26176c39">tuple_</a></td></tr>
<tr class="memdesc:a0f92b70b3120fbf0b5ed833d26176c39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current tuple pointer into tuple_mem_. <a href="#a0f92b70b3120fbf0b5ed833d26176c39">More...</a><br/></td></tr>
<tr class="separator:a0f92b70b3120fbf0b5ed833d26176c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c6954a13e4a285d2e4b544574c03b76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a5c6954a13e4a285d2e4b544574c03b76">batch_</a></td></tr>
<tr class="separator:a5c6954a13e4a285d2e4b544574c03b76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b0b36b42ab140cbb793aa986683c432"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a8b0b36b42ab140cbb793aa986683c432">tuple_mem_</a></td></tr>
<tr class="memdesc:a8b0b36b42ab140cbb793aa986683c432"><td class="mdescLeft">&#160;</td><td class="mdescRight">The tuple memory of batch_. <a href="#a8b0b36b42ab140cbb793aa986683c432">More...</a><br/></td></tr>
<tr class="separator:a8b0b36b42ab140cbb793aa986683c432"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06581f363b634869efc5d09839bc3e25"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a06581f363b634869efc5d09839bc3e25">num_errors_in_file_</a></td></tr>
<tr class="memdesc:a06581f363b634869efc5d09839bc3e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of errors in current file <a href="#a06581f363b634869efc5d09839bc3e25">More...</a><br/></td></tr>
<tr class="separator:a06581f363b634869efc5d09839bc3e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebc25f28c691efb3b377e2cf7bc728a8"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1TextConverter.html">TextConverter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#aebc25f28c691efb3b377e2cf7bc728a8">text_converter_</a></td></tr>
<tr class="memdesc:aebc25f28c691efb3b377e2cf7bc728a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper class for converting text to other types;. <a href="#aebc25f28c691efb3b377e2cf7bc728a8">More...</a><br/></td></tr>
<tr class="separator:aebc25f28c691efb3b377e2cf7bc728a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a922115776b26544df5d86ad82dff87ef"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a922115776b26544df5d86ad82dff87ef">num_null_bytes_</a></td></tr>
<tr class="memdesc:a922115776b26544df5d86ad82dff87ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of null bytes in the tuple. <a href="#a922115776b26544df5d86ad82dff87ef">More...</a><br/></td></tr>
<tr class="separator:a922115776b26544df5d86ad82dff87ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8196c5dc7e842622df7ab43b8cd68397"><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_1HdfsScanner.html#a8196c5dc7e842622df7ab43b8cd68397">parse_status_</a></td></tr>
<tr class="separator:a8196c5dc7e842622df7ab43b8cd68397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d995c8326def52de037ecf074fc2654"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1Codec.html">Codec</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#a8d995c8326def52de037ecf074fc2654">decompressor_</a></td></tr>
<tr class="memdesc:a8d995c8326def52de037ecf074fc2654"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decompressor class to use, if any. <a href="#a8d995c8326def52de037ecf074fc2654">More...</a><br/></td></tr>
<tr class="separator:a8d995c8326def52de037ecf074fc2654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba0c7e8797db0a61444e50f342c775c6"><td class="memItemLeft" align="right" valign="top">THdfsCompression::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#aba0c7e8797db0a61444e50f342c775c6">decompression_type_</a></td></tr>
<tr class="memdesc:aba0c7e8797db0a61444e50f342c775c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The most recently used decompression type. <a href="#aba0c7e8797db0a61444e50f342c775c6">More...</a><br/></td></tr>
<tr class="separator:aba0c7e8797db0a61444e50f342c775c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae86f3019c271de0d0593204003ee1653"><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_1HdfsScanner.html#ae86f3019c271de0d0593204003ee1653">data_buffer_pool_</a></td></tr>
<tr class="separator:ae86f3019c271de0d0593204003ee1653"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bd58a77c6acecf09cbfcc9b4e592618"><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_1HdfsScanner.html#a7bd58a77c6acecf09cbfcc9b4e592618">decompress_timer_</a></td></tr>
<tr class="memdesc:a7bd58a77c6acecf09cbfcc9b4e592618"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time spent decompressing bytes. <a href="#a7bd58a77c6acecf09cbfcc9b4e592618">More...</a><br/></td></tr>
<tr class="separator:a7bd58a77c6acecf09cbfcc9b4e592618"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea086d8b6a0604df26216cacea3feeed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1HdfsScanner.html#a1875e5409fedbadf979001ef761ae753">WriteTuplesFn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsScanner.html#aea086d8b6a0604df26216cacea3feeed">write_tuples_fn_</a></td></tr>
<tr class="memdesc:aea086d8b6a0604df26216cacea3feeed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Jitted write tuples function pointer. Null if codegen is disabled. <a href="#aea086d8b6a0604df26216cacea3feeed">More...</a><br/></td></tr>
<tr class="separator:aea086d8b6a0604df26216cacea3feeed"><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-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr class="memitem:a5814338e23714b1d66022f75bbb48c5b"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BaseSequenceScanner.html#a5814338e23714b1d66022f75bbb48c5b">SYNC_HASH_SIZE</a> = 16</td></tr>
<tr class="memdesc:a5814338e23714b1d66022f75bbb48c5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the sync hash field. <a href="#a5814338e23714b1d66022f75bbb48c5b">More...</a><br/></td></tr>
<tr class="separator:a5814338e23714b1d66022f75bbb48c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac62358e62350918ee1a0c429cd74fd5c"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BaseSequenceScanner.html#ac62358e62350918ee1a0c429cd74fd5c">HEADER_SIZE</a> = 1024</td></tr>
<tr class="separator:ac62358e62350918ee1a0c429cd74fd5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3d4eec40706fa6d653246a19d17e006"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BaseSequenceScanner.html#ae3d4eec40706fa6d653246a19d17e006">SYNC_MARKER</a> = -1</td></tr>
<tr class="memdesc:ae3d4eec40706fa6d653246a19d17e006"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sync indicator. <a href="#ae3d4eec40706fa6d653246a19d17e006">More...</a><br/></td></tr>
<tr class="separator:ae3d4eec40706fa6d653246a19d17e006"><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:a6b7dadac13ac321a4516ee9d4e5fdf4e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a6b7dadac13ac321a4516ee9d4e5fdf4e">Version</a> { <a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a6b7dadac13ac321a4516ee9d4e5fdf4eaea58c2cdf3384ceb9bf33a70f700a781">SEQ6</a>,
<a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a6b7dadac13ac321a4516ee9d4e5fdf4eadac47bc1b46b85e781598e5e92b2baab">RCF1</a>
}</td></tr>
<tr class="separator:a6b7dadac13ac321a4516ee9d4e5fdf4e"><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:ac9b562c584a24b160c83d8d795bad19d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structimpala_1_1BaseSequenceScanner_1_1FileHeader.html">FileHeader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#ac9b562c584a24b160c83d8d795bad19d">AllocateFileHeader</a> ()</td></tr>
<tr class="memdesc:ac9b562c584a24b160c83d8d795bad19d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of superclass functions. <a href="#ac9b562c584a24b160c83d8d795bad19d">More...</a><br/></td></tr>
<tr class="separator:ac9b562c584a24b160c83d8d795bad19d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a451edf22218380d2feef779c4a9a2bf4"><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_1HdfsRCFileScanner.html#a451edf22218380d2feef779c4a9a2bf4">ReadFileHeader</a> ()</td></tr>
<tr class="separator:a451edf22218380d2feef779c4a9a2bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4260dd8dc9d776f9d7acbf94fe184af9"><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_1HdfsRCFileScanner.html#a4260dd8dc9d776f9d7acbf94fe184af9">InitNewRange</a> ()</td></tr>
<tr class="memdesc:a4260dd8dc9d776f9d7acbf94fe184af9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset internal state for a new scan range. <a href="#a4260dd8dc9d776f9d7acbf94fe184af9">More...</a><br/></td></tr>
<tr class="separator:a4260dd8dc9d776f9d7acbf94fe184af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee2612c340ecebebd989f7b010d69fb1"><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_1HdfsRCFileScanner.html#aee2612c340ecebebd989f7b010d69fb1">ProcessRange</a> ()</td></tr>
<tr class="separator:aee2612c340ecebebd989f7b010d69fb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a810e05ebb587dc00b70c3c32f96954d7"><td class="memItemLeft" align="right" valign="top">virtual THdfsFileFormat::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a810e05ebb587dc00b70c3c32f96954d7">file_format</a> () const </td></tr>
<tr class="memdesc:a810e05ebb587dc00b70c3c32f96954d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns type of scanner: e.g. rcfile, seqfile. <a href="#a810e05ebb587dc00b70c3c32f96954d7">More...</a><br/></td></tr>
<tr class="separator:a810e05ebb587dc00b70c3c32f96954d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab9e6c6888480bd251c60d0542c7d413"><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_1HdfsRCFileScanner.html#aab9e6c6888480bd251c60d0542c7d413">ReadNumColumnsMetadata</a> ()</td></tr>
<tr class="separator:aab9e6c6888480bd251c60d0542c7d413"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad422f6a52328d62c2bbe334403012e25"><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_1HdfsRCFileScanner.html#ad422f6a52328d62c2bbe334403012e25">ReadRowGroupHeader</a> ()</td></tr>
<tr class="separator:ad422f6a52328d62c2bbe334403012e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89ec04df38225f3af94c83404b27db4c"><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_1HdfsRCFileScanner.html#a89ec04df38225f3af94c83404b27db4c">ReadKeyBuffers</a> ()</td></tr>
<tr class="separator:a89ec04df38225f3af94c83404b27db4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac91d48c0074aa7571c22e3032d164f4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#ac91d48c0074aa7571c22e3032d164f4f">GetCurrentKeyBuffer</a> (int col_idx, <a class="el" href="classbool.html">bool</a> skip_col_data, uint8_t **key_buf_ptr)</td></tr>
<tr class="separator:ac91d48c0074aa7571c22e3032d164f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa39f595407e3e46da6237a04c581caf5"><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_1HdfsRCFileScanner.html#aa39f595407e3e46da6237a04c581caf5">ReadColumnBuffers</a> ()</td></tr>
<tr class="separator:aa39f595407e3e46da6237a04c581caf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebb254a68e5bc91f98ae1df7fdbf5e04"><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_1HdfsRCFileScanner.html#aebb254a68e5bc91f98ae1df7fdbf5e04">NextField</a> (int col_idx)</td></tr>
<tr class="separator:aebb254a68e5bc91f98ae1df7fdbf5e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47b54469bc26cf5f5023dcbcc66c20b4"><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_1HdfsRCFileScanner.html#a47b54469bc26cf5f5023dcbcc66c20b4">ReadRowGroup</a> ()</td></tr>
<tr class="separator:a47b54469bc26cf5f5023dcbcc66c20b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a844e61780a44396b88ca2b365dee548d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a844e61780a44396b88ca2b365dee548d">ResetRowGroup</a> ()</td></tr>
<tr class="memdesc:a844e61780a44396b88ca2b365dee548d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset state for a new row group. <a href="#a844e61780a44396b88ca2b365dee548d">More...</a><br/></td></tr>
<tr class="separator:a844e61780a44396b88ca2b365dee548d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1bf74dce09a7b4453764ad9148b2f83"><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_1HdfsRCFileScanner.html#ad1bf74dce09a7b4453764ad9148b2f83">NextRow</a> ()</td></tr>
<tr class="separator:ad1bf74dce09a7b4453764ad9148b2f83"><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:ad2cfb81b1d98e908ed847a4c8b8120c2"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structimpala_1_1HdfsRCFileScanner_1_1ColumnInfo.html">ColumnInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#ad2cfb81b1d98e908ed847a4c8b8120c2">columns_</a></td></tr>
<tr class="separator:ad2cfb81b1d98e908ed847a4c8b8120c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91b18c9b43359d20da827d4ba3d2974f"><td class="memItemLeft" align="right" valign="top">std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a91b18c9b43359d20da827d4ba3d2974f">key_buffer_</a></td></tr>
<tr class="memdesc:a91b18c9b43359d20da827d4ba3d2974f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer for copying key buffers. This buffer is reused between row groups. <a href="#a91b18c9b43359d20da827d4ba3d2974f">More...</a><br/></td></tr>
<tr class="separator:a91b18c9b43359d20da827d4ba3d2974f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a842d575d3707d08a9aae82bc8f3b5092"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a842d575d3707d08a9aae82bc8f3b5092">num_rows_</a></td></tr>
<tr class="memdesc:a842d575d3707d08a9aae82bc8f3b5092"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of rows in this rowgroup object <a href="#a842d575d3707d08a9aae82bc8f3b5092">More...</a><br/></td></tr>
<tr class="separator:a842d575d3707d08a9aae82bc8f3b5092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a141f22606d0abc8c348a46beb920c49b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a141f22606d0abc8c348a46beb920c49b">row_pos_</a></td></tr>
<tr class="separator:a141f22606d0abc8c348a46beb920c49b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe72fd97d8e9eb2ffee8b41dfb500679"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#afe72fd97d8e9eb2ffee8b41dfb500679">key_length_</a></td></tr>
<tr class="separator:afe72fd97d8e9eb2ffee8b41dfb500679"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b9b9a4d54fac3fc9e193205c86df9a3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a3b9b9a4d54fac3fc9e193205c86df9a3">compressed_key_length_</a></td></tr>
<tr class="separator:a3b9b9a4d54fac3fc9e193205c86df9a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a764414857822ed2a182f5065ad58ec75"><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_1HdfsRCFileScanner.html#a764414857822ed2a182f5065ad58ec75">reuse_row_group_buffer_</a></td></tr>
<tr class="separator:a764414857822ed2a182f5065ad58ec75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad428cd5a53fae9668111c1ab05121a16"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#ad428cd5a53fae9668111c1ab05121a16">row_group_buffer_</a></td></tr>
<tr class="separator:ad428cd5a53fae9668111c1ab05121a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfc4a2215d4ad70e2c164f66780cbad9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#adfc4a2215d4ad70e2c164f66780cbad9">row_group_length_</a></td></tr>
<tr class="separator:adfc4a2215d4ad70e2c164f66780cbad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad91aa34f5b586fa87e6b8c121f5f6b34"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#ad91aa34f5b586fa87e6b8c121f5f6b34">row_group_buffer_size_</a></td></tr>
<tr class="separator:ad91aa34f5b586fa87e6b8c121f5f6b34"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:adbbdb407553199e8185c098cce3234c7"><td class="memItemLeft" align="right" valign="top">static const char *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#adbbdb407553199e8185c098cce3234c7">RCFILE_KEY_CLASS_NAME</a></td></tr>
<tr class="separator:adbbdb407553199e8185c098cce3234c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad315e4ffbfa2fe8c4d1860c2b731e2e1"><td class="memItemLeft" align="right" valign="top">static const char *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#ad315e4ffbfa2fe8c4d1860c2b731e2e1">RCFILE_VALUE_CLASS_NAME</a></td></tr>
<tr class="separator:ad315e4ffbfa2fe8c4d1860c2b731e2e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86ed710efd25642c09b9e08bb5e9594c"><td class="memItemLeft" align="right" valign="top">static const char *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a86ed710efd25642c09b9e08bb5e9594c">RCFILE_METADATA_KEY_NUM_COLS</a></td></tr>
<tr class="separator:a86ed710efd25642c09b9e08bb5e9594c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5714007ac080e61cc6bcb9312739ecd0"><td class="memItemLeft" align="right" valign="top">static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a5714007ac080e61cc6bcb9312739ecd0">RCFILE_VERSION_HEADER</a> [4] = {'R', 'C', 'F', 1}</td></tr>
<tr class="separator:a5714007ac080e61cc6bcb9312739ecd0"><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 scanner for reading RCFiles into tuples. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00231">231</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a1875e5409fedbadf979001ef761ae753"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef int(* impala::HdfsScanner::WriteTuplesFn)(<a class="el" href="classimpala_1_1HdfsScanner.html">HdfsScanner</a> *, <a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *, int, <a class="el" href="structimpala_1_1FieldLocation.html">FieldLocation</a> *, int, int, int, int)</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>Matching typedef for WriteAlignedTuples for codegen. Refer to comments for that function. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00212">212</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a6b7dadac13ac321a4516ee9d4e5fdf4e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classimpala_1_1HdfsRCFileScanner.html#a6b7dadac13ac321a4516ee9d4e5fdf4e">impala::HdfsRCFileScanner::Version</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">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a6b7dadac13ac321a4516ee9d4e5fdf4eaea58c2cdf3384ceb9bf33a70f700a781"></a>SEQ6</em>&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6b7dadac13ac321a4516ee9d4e5fdf4eadac47bc1b46b85e781598e5e92b2baab"></a>RCF1</em>&#160;</td><td class="fielddoc">
</td></tr>
</table>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00328">328</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a6be0fdde28d29131b5b807b41e30b907"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">HdfsRCFileScanner::HdfsRCFileScanner </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> *&#160;</td>
<td class="paramname"><em>scan_node</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>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00053">53</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a10f91af29c426ba3395749b679f35c3c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">HdfsRCFileScanner::~HdfsRCFileScanner </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00057">57</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a36e661fbaff23879b78f53cdc1a56552"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanner::AddFinalRowBatch </td>
<td>(</td>
<td class="paramname"></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>Attach all remaining resources from context_ to batch_ and send batch_ to the scan node. This must be called after all rows have been committed and no further resources are needed from context_ (in practice this will happen in each scanner subclass's <a class="el" href="classimpala_1_1HdfsScanner.html#a61d4a073305f6befe9f12bad12f9de48">Close()</a> implementation). </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00145">145</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8cc_source.html#l00688">impala::HdfsScanNode::AddMaterializedRowBatch()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00177">impala::HdfsScanner::batch_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00147">impala::HdfsScanner::context_</a>, <a class="el" href="scanner-context_8cc_source.html#l00045">impala::ScannerContext::ReleaseCompletedResources()</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</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>, and <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00449">impala::HdfsParquetScanner::Close()</a>.</p>
</div>
</div>
<a class="anchor" id="ac9b562c584a24b160c83d8d795bad19d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structimpala_1_1BaseSequenceScanner_1_1FileHeader.html">BaseSequenceScanner::FileHeader</a> * HdfsRCFileScanner::AllocateFileHeader </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 class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implementation of superclass functions. </p>
<p>Implements <a class="el" href="classimpala_1_1BaseSequenceScanner.html#a519c086c9914fa0c9e2a2f608814a46b">impala::BaseSequenceScanner</a>.</p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00227">227</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a94b437624601d6e7626e9b3d59cd87da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::HdfsScanner::AttachPool </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>
</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>commit_batch</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">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Release all memory in 'pool' to batch_. If commit_batch is true, the row batch will be committed. commit_batch should be true if the attached pool is expected to be non-trivial (i.e. a decompression buffer) to minimize scanner mem usage. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00256">256</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>References <a class="el" href="mem-pool_8cc_source.html#l00161">impala::MemPool::AcquireData()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00177">impala::HdfsScanner::batch_</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, and <a class="el" href="row-batch_8h_source.html#l00148">impala::RowBatch::tuple_data_pool()</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="hdfs-text-scanner_8cc_source.html#l00437">impala::HdfsTextScanner::FillByteBufferGzip()</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#l00441">impala::HdfsSequenceScanner::ReadCompressedBlock()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00532">impala::HdfsParquetScanner::BaseColumnReader::ReadDataPage()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="a1a37621b600b55d162832e8744fc6a17"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void BaseSequenceScanner::Close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Release all resources the scanner has allocated. This is the last chance for the scanner to attach any resources to the <a class="el" href="classimpala_1_1ScannerContext.html">ScannerContext</a> object. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1HdfsScanner.html#a61d4a073305f6befe9f12bad12f9de48">impala::HdfsScanner</a>.</p>
<p>Definition at line <a class="el" href="base-sequence-scanner_8cc_source.html#l00082">82</a> of file <a class="el" href="base-sequence-scanner_8cc_source.html">base-sequence-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8cc_source.html#l00145">impala::HdfsScanner::AddFinalRowBatch()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00256">impala::HdfsScanner::AttachPool()</a>, <a class="el" href="scanner-context_8h_source.html#l00109">impala::ScannerContext::Stream::bytes_left()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00082">impala::HdfsScanner::Close()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00066">impala::BaseSequenceScanner::FileHeader::compression_type</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00205">impala::HdfsScanner::data_buffer_pool_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00198">impala::HdfsScanner::decompressor_</a>, <a class="el" href="classimpala_1_1BaseSequenceScanner.html#aa3ac35eed32d440edbd401600d9ee0c4">impala::BaseSequenceScanner::file_format()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00127">impala::BaseSequenceScanner::header_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00157">impala::BaseSequenceScanner::num_syncs_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00130">impala::BaseSequenceScanner::only_parsing_header_</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00924">impala::HdfsScanNode::RangeComplete()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00154">impala::BaseSequenceScanner::total_block_size_</a>, and <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>.</p>
</div>
</div>
<a class="anchor" id="aac18b5e53c864fa9ac9a574e00518a4a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Function * HdfsScanner::CodegenWriteAlignedTuples </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> *&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1LlvmCodeGen.html">LlvmCodeGen</a> *&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">llvm::Function *&#160;</td>
<td class="paramname"><em>write_tuple_fn</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>Codegen function to replace WriteAlignedTuples. WriteAlignedTuples is cross compiled to IR. This function loads the precompiled IR function, modifies it and returns the resulting function. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00495">495</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="llvm-codegen_8h_source.html#l00135">impala::LlvmCodeGen::codegen_timer()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00596">impala::LlvmCodeGen::FinalizeFunction()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00421">impala::LlvmCodeGen::GetFunction()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00489">impala::LlvmCodeGen::ReplaceCallSites()</a>, and <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>.</p>
<p>Referenced by <a class="el" href="hdfs-text-scanner_8cc_source.html#l00609">impala::HdfsTextScanner::Codegen()</a>, and <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00050">impala::HdfsSequenceScanner::Codegen()</a>.</p>
</div>
</div>
<a class="anchor" id="ab0d4c09c4bacaf57bf5bf238da3cd5e8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Function * HdfsScanner::CodegenWriteCompleteTuple </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> *&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1LlvmCodeGen.html">LlvmCodeGen</a> *&#160;</td>
<td class="paramname">, </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>&#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>Codegen function to replace WriteCompleteTuple. Should behave identically to WriteCompleteTuple. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00296">296</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="llvm-codegen_8h_source.html#l00171">impala::LlvmCodeGen::FnPrototype::AddArgument()</a>, <a class="el" href="descriptors_8h_source.html#l00300">impala::TupleDescriptor::byte_size()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00135">impala::LlvmCodeGen::codegen_timer()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00933">impala::LlvmCodeGen::CodegenMemcpy()</a>, <a class="el" href="text-converter_8cc_source.html#l00099">impala::TextConverter::CodegenWriteSlot()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00956">impala::HdfsScanNode::ComputeSlotMaterializationOrder()</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="descriptors_8cc_source.html#l00556">impala::TupleDescriptor::GenerateLlvmStruct()</a>, <a class="el" href="status_8cc_source.html#l00184">impala::Status::GetDetail()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00421">impala::LlvmCodeGen::GetFunction()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00371">impala::LlvmCodeGen::GetIntConstant()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00312">impala::LlvmCodeGen::GetType()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00258">impala::CodegenAnyVal::GetVal()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00134">impala::HdfsScanNode::hdfs_table()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00061">impala::FieldLocation::LLVM_CLASS_NAME</a>, <a class="el" href="tuple-row_8h_source.html#l00076">impala::TupleRow::LLVM_CLASS_NAME</a>, <a class="el" href="tuple_8h_source.html#l00134">impala::Tuple::LLVM_CLASS_NAME</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00137">impala::HdfsScanner::LLVM_CLASS_NAME</a>, <a class="el" href="mem-pool_8h_source.html#l00177">impala::MemPool::LLVM_CLASS_NAME</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00119">impala::HdfsScanNode::materialized_slots()</a>, <a class="el" href="descriptors_8h_source.html#l00233">impala::HdfsTableDescriptor::null_column_value()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00130">impala::HdfsScanNode::num_materialized_partition_keys()</a>, <a class="el" href="descriptors_8h_source.html#l00301">impala::TupleDescriptor::num_null_bytes()</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00583">impala::LlvmCodeGen::OptimizeFunctionWithExprs()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00136">impala::HdfsScanNode::runtime_state()</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="llvm-codegen_8h_source.html#l00380">impala::LlvmCodeGen::true_value()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00132">impala::HdfsScanNode::tuple_desc()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00124">impala::HdfsScanNode::tuple_idx()</a>, <a class="el" href="types_8h_source.html#l00060">impala::ColumnType::type</a>, <a class="el" href="descriptors_8h_source.html#l00078">impala::SlotDescriptor::type()</a>, <a class="el" href="types_8h_source.html#l00030">impala::TYPE_BOOLEAN</a>, <a class="el" href="types_8h_source.html#l00042">impala::TYPE_DECIMAL</a>, <a class="el" href="types_8h_source.html#l00033">impala::TYPE_INT</a>, <a class="el" href="types_8h_source.html#l00037">impala::TYPE_TIMESTAMP</a>, and <a class="el" href="types_8h_source.html#l00031">impala::TYPE_TINYINT</a>.</p>
<p>Referenced by <a class="el" href="hdfs-text-scanner_8cc_source.html#l00609">impala::HdfsTextScanner::Codegen()</a>, and <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00050">impala::HdfsSequenceScanner::Codegen()</a>.</p>
</div>
</div>
<a class="anchor" id="ab72a9901f5c1c2cb0f053ce6ad45d9b6"></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> HdfsScanner::CommitRows </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_rows</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>Commit num_rows to the current row batch. If this completes, the row batch is enqueued with the scan node and <a class="el" href="classimpala_1_1HdfsScanner.html#a370d072e6ebd37891c012fc9da453133" title="Set batch_ to a new row batch and update tuple_mem_ accordingly. ">StartNewRowBatch()</a> is called. Returns <a class="el" href="classimpala_1_1Status.html#a580565665ea944eb64f3f495b1bee1e0">Status::OK</a> if the query is not cancelled and hasn't exceeded any mem limits. Scanner can call this with 0 rows to flush any pending resources (attached pools and io buffers) to minimize memory consumption. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00124">124</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8cc_source.html#l00688">impala::HdfsScanNode::AddMaterializedRowBatch()</a>, <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00177">impala::HdfsScanner::batch_</a>, <a class="el" href="descriptors_8h_source.html#l00300">impala::TupleDescriptor::byte_size()</a>, <a class="el" href="status_8h_source.html#l00088">impala::Status::CANCELLED</a>, <a class="el" href="scanner-context_8cc_source.html#l00282">impala::ScannerContext::cancelled()</a>, <a class="el" href="row-batch_8h_source.html#l00216">impala::RowBatch::capacity()</a>, <a class="el" href="runtime-state_8cc_source.html#l00286">impala::RuntimeState::CheckQueryState()</a>, <a class="el" href="row-batch_8h_source.html#l00102">impala::RowBatch::CommitRows()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00154">impala::HdfsScanner::conjunct_ctxs_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00147">impala::HdfsScanner::context_</a>, <a class="el" href="expr-context_8cc_source.html#l00109">impala::ExprContext::FreeLocalAllocations()</a>, <a class="el" href="scanner-context_8h_source.html#l00277">impala::ScannerContext::num_completed_io_buffers()</a>, <a class="el" href="row-batch_8h_source.html#l00215">impala::RowBatch::num_rows()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="scanner-context_8cc_source.html#l00045">impala::ScannerContext::ReleaseCompletedResources()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00144">impala::HdfsScanner::state_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00132">impala::HdfsScanNode::tuple_desc()</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00180">impala::HdfsScanner::tuple_mem_</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_8h_source.html#l00256">impala::HdfsScanner::AttachPool()</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>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, and <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00769">impala::HdfsParquetScanner::ProcessSplit()</a>.</p>
</div>
</div>
<a class="anchor" id="a00ff7c6c7d5493eee9e682a2094ccee5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HdfsRCFileScanner::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>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00564">564</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="scanner-context_8h_source.html#l00118">impala::ScannerContext::Stream::filename()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00124">impala::HdfsScanNode::tuple_idx()</a>.</p>
</div>
</div>
<a class="anchor" id="aa329170edaabadb0f1ff94de121b3cec"></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> <a class="el" href="impala-ir_8h.html#af2b653018219cda8c9a2d9efc0ce3f44">IR_ALWAYS_INLINE</a> impala::HdfsScanner::EvalConjuncts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>row</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convenience function for evaluating conjuncts using this scanner's ExprContexts. This must always be inlined so we can correctly replace the call to <a class="el" href="classimpala_1_1ExecNode.html#a48ec693b9eb748682b58479751812f08">ExecNode::EvalConjuncts()</a> during codegen. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00266">266</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8h_source.html#l00154">impala::HdfsScanner::conjunct_ctxs_</a>, and <a class="el" href="exec-node_8cc_source.html#l00393">impala::ExecNode::EvalConjuncts()</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-avro-scanner-ir_8cc_source.html#l00023">impala::HdfsAvroScanner::DecodeAvroData()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">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="a810e05ebb587dc00b70c3c32f96954d7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual THdfsFileFormat::type impala::HdfsRCFileScanner::file_format </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns type of scanner: e.g. rcfile, seqfile. </p>
<p>Implements <a class="el" href="classimpala_1_1BaseSequenceScanner.html#aa3ac35eed32d440edbd401600d9ee0c4">impala::BaseSequenceScanner</a>.</p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00263">263</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
</div>
</div>
<a class="anchor" id="a18b91ec35300d95c96b3203034a7c3f0"></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::BaseSequenceScanner::finished </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="base-sequence-scanner_8h_source.html#l00117">117</a> of file <a class="el" href="base-sequence-scanner_8h_source.html">base-sequence-scanner.h</a>.</p>
<p>References <a class="el" href="base-sequence-scanner_8h_source.html#l00146">impala::BaseSequenceScanner::finished_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00161">impala::HdfsSequenceScanner::ProcessBlockCompressedScanRange()</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">ProcessRange()</a>.</p>
</div>
</div>
<a class="anchor" id="a77ca8ddf41e61984b20255881759ef99"></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_1ExprContext.html">ExprContext</a> * HdfsScanner::GetConjunctCtx </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>idx</em></td><td>)</td>
<td> const</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>Simple wrapper around conjunct_ctxs_. Used in the codegen'd version of <a class="el" href="classimpala_1_1HdfsScanner.html#ad6bf05f906b32b58d7df914cbd115492">WriteCompleteTuple()</a> because it's easier than writing IR to access conjunct_ctxs_. </p>
<p>Definition at line <a class="el" href="hdfs-scanner-ir_8cc_source.html#l00079">79</a> of file <a class="el" href="hdfs-scanner-ir_8cc_source.html">hdfs-scanner-ir.cc</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8h_source.html#l00154">impala::HdfsScanner::conjunct_ctxs_</a>, and <a class="el" href="gen__ir__descriptions_8py_source.html#l00215">gen_ir_descriptions::idx</a>.</p>
</div>
</div>
<a class="anchor" id="ac91d48c0074aa7571c22e3032d164f4f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsRCFileScanner::GetCurrentKeyBuffer </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>col_idx</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>skip_col_data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t **&#160;</td>
<td class="paramname"><em>key_buf_ptr</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>Process the current key buffer. Inputs: col_idx: column to process skip_col_data: if true, just skip over the key data. Input/Output: key_buf_ptr: Pointer to the buffered file data, this will be moved past the data for this column. Sets: col_buf_len_ col_buf_uncompressed_len_ col_key_bufs_ col_bufs_off_ </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00344">344</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00350">impala::HdfsRCFileScanner::ColumnInfo::buffer_len</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00376">columns_</a>, <a class="el" href="read-write-util_8h_source.html#l00141">impala::ReadWriteUtil::GetVInt()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00356">impala::HdfsRCFileScanner::ColumnInfo::key_buffer</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00407">row_group_length_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00362">impala::HdfsRCFileScanner::ColumnInfo::start_offset</a>, and <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00351">impala::HdfsRCFileScanner::ColumnInfo::uncompressed_buffer_len</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>.</p>
</div>
</div>
<a class="anchor" id="ac2a391565eba0ab7cf58a7a024032220"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int HdfsScanner::GetMemory </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>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> **&#160;</td>
<td class="paramname"><em>tuple_mem</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>tuple_row_mem</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>Gets memory for outputting tuples into batch_. *pool is the mem pool that should be used for memory allocated for those tuples. *tuple_mem should be the location to output tuples, and *tuple_row_mem for outputting tuple rows. Returns the maximum number of tuples/tuple rows that can be output (before the current row batch is complete and a new one is allocated). Memory returned from this call is invalidated after calling CommitRows. Callers must call GetMemory again after calling this function. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00115">115</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00100">impala::RowBatch::AddRow()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00177">impala::HdfsScanner::batch_</a>, <a class="el" href="row-batch_8h_source.html#l00216">impala::RowBatch::capacity()</a>, <a class="el" href="row-batch_8h_source.html#l00140">impala::RowBatch::GetRow()</a>, <a class="el" href="row-batch_8h_source.html#l00215">impala::RowBatch::num_rows()</a>, <a class="el" href="row-batch_8h_source.html#l00148">impala::RowBatch::tuple_data_pool()</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00180">impala::HdfsScanner::tuple_mem_</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">ProcessRange()</a>.</p>
</div>
</div>
<a class="anchor" id="adab08ccc8e27d64a6473683eabaadb84"></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> HdfsScanner::InitializeWriteTuplesFn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsPartitionDescriptor.html">HdfsPartitionDescriptor</a> *&#160;</td>
<td class="paramname"><em>partition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">THdfsFileFormat::type&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>scanner_name</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>Initializes write_tuples_fn_ to the jitted function if codegen is possible.</p>
<ul>
<li>partition - partition descriptor for this scanner/scan range</li>
<li>type - type for this scanner</li>
<li>scanner_name - debug string name for this scanner (e.g. <a class="el" href="classimpala_1_1HdfsTextScanner.html">HdfsTextScanner</a>) </li>
</ul>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00087">87</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00183">impala::HdfsPartitionDescriptor::escape_char()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00224">impala::HdfsScanNode::GetCodegenFn()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00172">impala::HdfsScanNode::IncNumScannersCodegenDisabled()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00168">impala::HdfsScanNode::IncNumScannersCodegenEnabled()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="descriptors_8h_source.html#l00303">impala::TupleDescriptor::string_slots()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00132">impala::HdfsScanNode::tuple_desc()</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00215">impala::HdfsScanner::write_tuples_fn_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00061">impala::HdfsSequenceScanner::InitNewRange()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00228">impala::HdfsTextScanner::ResetScanner()</a>.</p>
</div>
</div>
<a class="anchor" id="a4260dd8dc9d776f9d7acbf94fe184af9"></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> HdfsRCFileScanner::InitNewRange </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 class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset internal state for a new scan range. </p>
<p>Implements <a class="el" href="classimpala_1_1HdfsScanner.html#a542176620ff5194866253070a539134a">impala::HdfsScanner</a>.</p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">68</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="base-sequence-scanner_8h_source.html#l00063">impala::BaseSequenceScanner::FileHeader::codec</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00376">columns_</a>, <a class="el" href="classimpala_1_1Codec.html#a0d8e74ac086a91c1cc7dbd7fe166f307">impala::Codec::CreateDecompressor()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00198">impala::HdfsScanner::decompressor_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00152">impala::HdfsScanNode::GetMaterializedSlotIdx()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00134">impala::HdfsScanNode::hdfs_table()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00127">impala::BaseSequenceScanner::header_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00060">impala::BaseSequenceScanner::FileHeader::is_compressed</a>, <a class="el" href="descriptors_8h_source.html#l00152">impala::TableDescriptor::num_cols()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00127">impala::HdfsScanNode::num_partition_keys()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00130">impala::BaseSequenceScanner::only_parsing_header_</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00399">reuse_row_group_buffer_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00411">row_group_buffer_size_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="scanner-context_8h_source.html#l00097">impala::ScannerContext::Stream::set_contains_tuple_data()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00144">impala::HdfsScanNode::SKIP_COLUMN</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, <a class="el" href="descriptors_8h_source.html#l00303">impala::TupleDescriptor::string_slots()</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00132">impala::HdfsScanNode::tuple_desc()</a>.</p>
</div>
</div>
<a class="anchor" id="accd7ea935f503dfe61c1570d1b9c07d8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::HdfsScanner::InitTuple </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *&#160;</td>
<td class="paramname"><em>template_tuple</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *&#160;</td>
<td class="paramname"><em>tuple</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">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize a tuple. TODO: only copy over non-null slots. TODO: InitTuple is called frequently, avoid the if, perhaps via templatization. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00355">355</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8h_source.html#l00189">impala::HdfsScanner::num_null_bytes_</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00167">impala::HdfsScanner::tuple_byte_size_</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-avro-scanner-ir_8cc_source.html#l00023">impala::HdfsAvroScanner::DecodeAvroData()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00217">impala::HdfsScanner::WriteCompleteTuple()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="a6b84385660f88ed592fd61ac62c15793"></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> BaseSequenceScanner::IssueInitialRanges </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1HdfsScanNode.html">HdfsScanNode</a> *&#160;</td>
<td class="paramname"><em>scan_node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>files</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>Issue the initial ranges for all sequence container files. </p>
<p>Definition at line <a class="el" href="base-sequence-scanner_8cc_source.html#l00040">40</a> of file <a class="el" href="base-sequence-scanner_8cc_source.html">base-sequence-scanner.cc</a>.</p>
<p>References <a class="el" href="classimpala_1_1HdfsScanNode.html#afe9bc42ad3846bde9f7113e5f1c133dc">impala::HdfsScanNode::AddDiskIoRanges()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00183">impala::HdfsScanNode::AllocateScanRange()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00121">impala::BaseSequenceScanner::HEADER_SIZE</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00080">impala::ScanRangeMetadata::partition_id</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">impala::HdfsScanNode::GetNext()</a>.</p>
</div>
</div>
<a class="anchor" id="adfe2965c538acda676b3a3627ff614ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanner::LogRowParseError </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>row_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::stringstream *&#160;</td>
<td class="paramname">&#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">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Utility function to append an error message for an invalid row. This is called from <a class="el" href="classimpala_1_1HdfsScanner.html#afd378fe0f2500a3a63012c7b33be4c90">ReportTupleParseError()</a> row_idx is the index of the row in the current batch. Subclasses should override this function (i.e. text needs to join boundary rows). Since this is only in the error path, vtable overhead is acceptable. </p>
<p>Reimplemented in <a class="el" href="classimpala_1_1HdfsSequenceScanner.html#ad07951d5279f1c10f2c5c1e8157ce953">impala::HdfsSequenceScanner</a>, and <a class="el" href="classimpala_1_1HdfsTextScanner.html#aa54a763cd29781bd631158d72bd269ad">impala::HdfsTextScanner</a>.</p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00572">572</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00546">impala::HdfsScanner::ReportTupleParseError()</a>.</p>
</div>
</div>
<a class="anchor" id="ae2cf3a0764b67bb1a1733daaa772e045"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a>* impala::HdfsScanner::next_row </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>r</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00368">368</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8h_source.html#l00177">impala::HdfsScanner::batch_</a>, and <a class="el" href="row-batch_8h_source.html#l00147">impala::RowBatch::row_byte_size()</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-avro-scanner-ir_8cc_source.html#l00023">impala::HdfsAvroScanner::DecodeAvroData()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00195">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="a2ea24bc3f271386fe3e24336c7956ca7"></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_1Tuple.html">Tuple</a>* impala::HdfsScanner::next_tuple </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *&#160;</td>
<td class="paramname"><em>t</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00363">363</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8h_source.html#l00167">impala::HdfsScanner::tuple_byte_size_</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-avro-scanner-ir_8cc_source.html#l00023">impala::HdfsAvroScanner::DecodeAvroData()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">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="aebb254a68e5bc91f98ae1df7fdbf5e04"></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> HdfsRCFileScanner::NextField </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>col_idx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Look at the next field in the specified column buffer Input: col_idx: Column of the field. Modifies: cur_field_length_rep_[col_idx] key_buf_pos_[col_idx] cur_field_length_rep_[col_idx] cur_field_length_[col_idx] </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00368">368</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00365">impala::HdfsRCFileScanner::ColumnInfo::buffer_pos</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00376">columns_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00368">impala::HdfsRCFileScanner::ColumnInfo::current_field_len</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00370">impala::HdfsRCFileScanner::ColumnInfo::current_field_len_rep</a>, <a class="el" href="scanner-context_8h_source.html#l00123">impala::ScannerContext::Stream::file_offset()</a>, <a class="el" href="read-write-util_8h_source.html#l00148">impala::ReadWriteUtil::GetVLong()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00356">impala::HdfsRCFileScanner::ColumnInfo::key_buffer</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00359">impala::HdfsRCFileScanner::ColumnInfo::key_buffer_pos</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00400">NextRow()</a>.</p>
</div>
</div>
<a class="anchor" id="ad1bf74dce09a7b4453764ad9148b2f83"></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> HdfsRCFileScanner::NextRow </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move to next row. Calls NextField on each column that we are reading. Modifies: row_pos_ </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00400">400</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00376">columns_</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00368">NextField()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00382">num_rows_</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="hdfs-rcfile-scanner_8h_source.html#l00386">row_pos_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>.</p>
</div>
</div>
<a class="anchor" id="ac619ad303abae210fffd496b9665e4e0"></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> HdfsRCFileScanner::Prepare </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><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>One-time initialisation of state that is constant across scan ranges. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1BaseSequenceScanner.html#acc3c090b8b5e1c282c828be221697d5b">impala::BaseSequenceScanner</a>.</p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00060">60</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-scan-node_8h_source.html#l00134">impala::HdfsScanNode::hdfs_table()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00172">impala::HdfsScanNode::IncNumScannersCodegenDisabled()</a>, <a class="el" href="descriptors_8h_source.html#l00233">impala::HdfsTableDescriptor::null_column_value()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00074">impala::BaseSequenceScanner::Prepare()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00186">impala::HdfsScanner::text_converter_</a>.</p>
</div>
</div>
<a class="anchor" id="aee2612c340ecebebd989f7b010d69fb1"></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> HdfsRCFileScanner::ProcessRange </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 class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Process the current range until the end or an error occurred. Note this might be called multiple times if we skip over bad data. This function should read from the underlying <a class="el" href="classimpala_1_1ScannerContext.html">ScannerContext</a> materializing tuples to the context. When this function is called, it is guaranteed to be at the start of a data block (i.e. right after the sync marker). </p>
<p>Implements <a class="el" href="classimpala_1_1BaseSequenceScanner.html#a7fb6c7a9e0bdf14e594d412f7e1bc600">impala::BaseSequenceScanner</a>.</p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">451</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="runtime-state_8h_source.html#l00099">impala::RuntimeState::abort_on_error()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00365">impala::HdfsRCFileScanner::ColumnInfo::buffer_pos</a>, <a class="el" href="descriptors_8h_source.html#l00084">impala::SlotDescriptor::col_pos()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00376">columns_</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00147">impala::HdfsScanner::context_</a>, <a class="el" href="runtime-profile_8h_source.html#l00055">COUNTER_ADD</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00368">impala::HdfsRCFileScanner::ColumnInfo::current_field_len</a>, <a class="el" href="scanner-context_8h_source.html#l00116">impala::ScannerContext::Stream::eof()</a>, <a class="el" href="runtime-state_8cc_source.html#l00203">impala::RuntimeState::ErrorLog()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00266">impala::HdfsScanner::EvalConjuncts()</a>, <a class="el" href="scanner-context_8h_source.html#l00118">impala::ScannerContext::Stream::filename()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00117">impala::BaseSequenceScanner::finished()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00115">impala::HdfsScanner::GetMemory()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00355">impala::HdfsScanner::InitTuple()</a>, <a class="el" href="runtime-state_8cc_source.html#l00224">impala::RuntimeState::LogError()</a>, <a class="el" href="runtime-state_8h_source.html#l00211">impala::RuntimeState::LogHasSpace()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00347">impala::HdfsRCFileScanner::ColumnInfo::materialize_column</a>, <a class="el" href="scan-node_8h_source.html#l00104">impala::ScanNode::materialize_tuple_timer()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00119">impala::HdfsScanNode::materialized_slots()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00368">impala::HdfsScanner::next_row()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00363">impala::HdfsScanner::next_tuple()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00400">NextRow()</a>, <a class="el" href="descriptors_8h_source.html#l00089">impala::SlotDescriptor::null_indicator_offset()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00127">impala::HdfsScanNode::num_partition_keys()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00382">num_rows_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="expr-benchmark_8cc_source.html#l00089">pool</a>, <a class="el" href="exec-node_8h_source.html#l00159">impala::ExecNode::ReachedLimit()</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00102">impala::ScannerContext::Stream::ReadInt()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00170">impala::BaseSequenceScanner::ReadSync()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00577">impala::HdfsScanner::ReportColumnParseError()</a>, <a class="el" href="runtime-state_8cc_source.html#l00219">impala::RuntimeState::ReportFileErrors()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00051">RETURN_IF_FALSE</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00403">row_group_buffer_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00407">row_group_length_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00386">row_pos_</a>, <a class="el" href="scan-node_8h_source.html#l00096">impala::ScanNode::rows_read_counter()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="tuple_8h_source.html#l00101">impala::Tuple::SetNull()</a>, <a class="el" href="tuple-row_8h_source.html#l00034">impala::TupleRow::SetTuple()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00362">impala::HdfsRCFileScanner::ColumnInfo::start_offset</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00144">impala::HdfsScanner::state_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00124">impala::BaseSequenceScanner::SYNC_MARKER</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00164">impala::HdfsScanner::template_tuple_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00186">impala::HdfsScanner::text_converter_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00124">impala::HdfsScanNode::tuple_idx()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="acc59a2d650453eb5c12670519342c846"></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> BaseSequenceScanner::ProcessSplit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Process an entire split, reading bytes from the context's streams. Context is initialized with the split data (e.g. template tuple, partition descriptor, etc). This function should only return on error or end of scan range. </p>
<p>Implements <a class="el" href="classimpala_1_1HdfsScanner.html#a2f5d1478537643952a179471165bf1b5">impala::HdfsScanner</a>.</p>
<p>Definition at line <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">100</a> of file <a class="el" href="base-sequence-scanner_8cc_source.html">base-sequence-scanner.cc</a>.</p>
<p>References <a class="el" href="runtime-state_8h_source.html#l00099">impala::RuntimeState::abort_on_error()</a>, <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <a class="el" href="classimpala_1_1HdfsScanNode.html#afe9bc42ad3846bde9f7113e5f1c133dc">impala::HdfsScanNode::AddDiskIoRanges()</a>, <a class="el" href="classimpala_1_1BaseSequenceScanner.html#a519c086c9914fa0c9e2a2f608814a46b">impala::BaseSequenceScanner::AllocateFileHeader()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00174">impala::BaseSequenceScanner::bytes_skipped_counter_</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00274">impala::BaseSequenceScanner::CloseFileRanges()</a>, <a class="el" href="runtime-profile_8h_source.html#l00055">COUNTER_ADD</a>, <a class="el" href="scanner-context_8h_source.html#l00116">impala::ScannerContext::Stream::eof()</a>, <a class="el" href="scanner-context_8h_source.html#l00123">impala::ScannerContext::Stream::file_offset()</a>, <a class="el" href="scanner-context_8h_source.html#l00118">impala::ScannerContext::Stream::filename()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00146">impala::BaseSequenceScanner::finished_</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00206">impala::HdfsScanNode::GetFileDesc()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00217">impala::HdfsScanNode::GetFileMetadata()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00127">impala::BaseSequenceScanner::header_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00070">impala::BaseSequenceScanner::FileHeader::header_size</a>, <a class="el" href="classimpala_1_1HdfsScanner.html#a542176620ff5194866253070a539134a">impala::HdfsScanner::InitNewRange()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00060">impala::BaseSequenceScanner::FileHeader::is_compressed</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="runtime-state_8cc_source.html#l00224">impala::RuntimeState::LogError()</a>, <a class="el" href="status_8h_source.html#l00189">impala::Status::msg()</a>, <a class="el" href="runtime-state_8h_source.html#l00092">impala::RuntimeState::obj_pool()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00130">impala::BaseSequenceScanner::only_parsing_header_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="classimpala_1_1BaseSequenceScanner.html#a7fb6c7a9e0bdf14e594d412f7e1bc600">impala::BaseSequenceScanner::ProcessRange()</a>, <a class="el" href="classimpala_1_1BaseSequenceScanner.html#af924a2719c3aedb31c17bd3f0bd80af3">impala::BaseSequenceScanner::ReadFileHeader()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00038">RETURN_IF_FALSE</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="scanner-context_8h_source.html#l00097">impala::ScannerContext::Stream::set_contains_tuple_data()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00211">impala::HdfsScanNode::SetFileMetadata()</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00070">impala::ScannerContext::Stream::SkipBytes()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00212">impala::BaseSequenceScanner::SkipToSync()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00144">impala::HdfsScanner::state_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00057">impala::BaseSequenceScanner::FileHeader::sync</a>, and <a class="el" href="base-sequence-scanner_8h_source.html#l00049">impala::BaseSequenceScanner::SYNC_HASH_SIZE</a>.</p>
</div>
</div>
<a class="anchor" id="aa39f595407e3e46da6237a04c581caf5"></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> HdfsRCFileScanner::ReadColumnBuffers </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>Read the rowgroup column buffers Sets: column_buffer_: Fills the buffer with either file data or decompressed data. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">413</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00350">impala::HdfsRCFileScanner::ColumnInfo::buffer_len</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00376">columns_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00208">impala::HdfsScanner::decompress_timer_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00198">impala::HdfsScanner::decompressor_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00127">impala::BaseSequenceScanner::header_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00060">impala::BaseSequenceScanner::FileHeader::is_compressed</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00056">impala::ScannerContext::Stream::ReadBytes()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00051">RETURN_IF_FALSE</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00403">row_group_buffer_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00407">row_group_length_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00070">impala::ScannerContext::Stream::SkipBytes()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00362">impala::HdfsRCFileScanner::ColumnInfo::start_offset</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00351">impala::HdfsRCFileScanner::ColumnInfo::uncompressed_buffer_len</a>, and <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="a451edf22218380d2feef779c4a9a2bf4"></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> HdfsRCFileScanner::ReadFileHeader </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 class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Read the file header. The underlying <a class="el" href="classimpala_1_1ScannerContext.html">ScannerContext</a> is at the start of the file header. This function must read the file header (which advances context_ past it) and initialize header_. </p>
<p>Implements <a class="el" href="classimpala_1_1BaseSequenceScanner.html#af924a2719c3aedb31c17bd3f0bd80af3">impala::BaseSequenceScanner</a>.</p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00107">107</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="base-sequence-scanner_8h_source.html#l00063">impala::BaseSequenceScanner::FileHeader::codec</a>, <a class="el" href="codec_8h_source.html#l00052">impala::Codec::CODEC_MAP</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00066">impala::BaseSequenceScanner::FileHeader::compression_type</a>, <a class="el" href="scanner-context_8h_source.html#l00118">impala::ScannerContext::Stream::filename()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00127">impala::BaseSequenceScanner::header_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00070">impala::BaseSequenceScanner::FileHeader::header_size</a>, <a class="el" href="read-write-util_8cc_source.html#l00072">impala::ReadWriteUtil::HexDump()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00060">impala::BaseSequenceScanner::FileHeader::is_compressed</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00330">RCF1</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00243">RCFILE_KEY_CLASS_NAME</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00247">RCFILE_VALUE_CLASS_NAME</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00255">RCFILE_VERSION_HEADER</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00095">impala::ScannerContext::Stream::ReadBoolean()</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00056">impala::ScannerContext::Stream::ReadBytes()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00197">ReadNumColumnsMetadata()</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00088">impala::ScannerContext::Stream::ReadText()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00051">RETURN_IF_FALSE</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00329">SEQ6</a>, <a class="el" href="hdfs-sequence-scanner_8h_source.html#l00160">impala::HdfsSequenceScanner::SEQFILE_VERSION_HEADER</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00057">impala::BaseSequenceScanner::FileHeader::sync</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00049">impala::BaseSequenceScanner::SYNC_HASH_SIZE</a>, <a class="el" href="scanner-context_8h_source.html#l00126">impala::ScannerContext::Stream::total_bytes_returned()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00336">impala::HdfsRCFileScanner::RcFileHeader::version</a>, and <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>.</p>
</div>
</div>
<a class="anchor" id="a89ec04df38225f3af94c83404b27db4c"></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> HdfsRCFileScanner::ReadKeyBuffers </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>Read the rowgroup key buffers, decompress if necessary. The "keys" are really the lengths for the column values. They are read here and then used to decode the values in the column buffer. Calls GetCurrentKeyBuffer for each column to process the key data. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">308</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00376">columns_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00394">compressed_key_length_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00208">impala::HdfsScanner::decompress_timer_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00198">impala::HdfsScanner::decompressor_</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00344">GetCurrentKeyBuffer()</a>, <a class="el" href="read-write-util_8h_source.html#l00141">impala::ReadWriteUtil::GetVInt()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00127">impala::BaseSequenceScanner::header_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00060">impala::BaseSequenceScanner::FileHeader::is_compressed</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00379">key_buffer_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00390">key_length_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00382">num_rows_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00056">impala::ScannerContext::Stream::ReadBytes()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00051">RETURN_IF_FALSE</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00407">row_group_length_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, and <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="aab9e6c6888480bd251c60d0542c7d413"></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> HdfsRCFileScanner::ReadNumColumnsMetadata </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>Reads the RCFile Header Metadata section in the current file to determine the number of columns. Other pieces of the metadata are ignored. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00197">197</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="scanner-context_8h_source.html#l00118">impala::ScannerContext::Stream::filename()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00127">impala::BaseSequenceScanner::header_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00340">impala::HdfsRCFileScanner::RcFileHeader::num_cols</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="string-parser_8h_source.html#l00054">impala::StringParser::PARSE_OVERFLOW</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="string-parser_8h_source.html#l00052">impala::StringParser::PARSE_SUCCESS</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00251">RCFILE_METADATA_KEY_NUM_COLS</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00102">impala::ScannerContext::Stream::ReadInt()</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00088">impala::ScannerContext::Stream::ReadText()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00051">RETURN_IF_FALSE</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00107">ReadFileHeader()</a>.</p>
</div>
</div>
<a class="anchor" id="a47b54469bc26cf5f5023dcbcc66c20b4"></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> HdfsRCFileScanner::ReadRowGroup </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>Read a row group (except for the sync marker and sync) into buffers. Calls: ReadRowGroupHeader ReadKeyBuffers ReadColumnBuffers </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">254</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8h_source.html#l00205">impala::HdfsScanner::data_buffer_pool_</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00382">num_rows_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">ReadColumnBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00278">ReadRowGroupHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00399">reuse_row_group_buffer_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00403">row_group_buffer_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00411">row_group_buffer_size_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00407">row_group_length_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="runtime-state_8cc_source.html#l00247">impala::RuntimeState::SetMemLimitExceeded()</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00144">impala::HdfsScanner::state_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>.</p>
</div>
</div>
<a class="anchor" id="ad422f6a52328d62c2bbe334403012e25"></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> HdfsRCFileScanner::ReadRowGroupHeader </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>Reads the rowgroup header starting after the sync. Sets: key_length_ compressed_key_length_ num_rows_ </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00278">278</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00394">compressed_key_length_</a>, <a class="el" href="scanner-context_8h_source.html#l00123">impala::ScannerContext::Stream::file_offset()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00390">key_length_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00102">impala::ScannerContext::Stream::ReadInt()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00051">RETURN_IF_FALSE</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="a38bb92ef6416325aefafbcaed8f5010c"></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> BaseSequenceScanner::ReadSync </td>
<td>(</td>
<td class="paramname"></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>Read and validate sync marker against header_-&gt;sync. Returns non-ok if the sync marker did not match. Scanners should always use this function to read sync markers, otherwise <a class="el" href="classimpala_1_1BaseSequenceScanner.html#a18b91ec35300d95c96b3203034a7c3f0">finished()</a> might not be updated correctly. If <a class="el" href="classimpala_1_1BaseSequenceScanner.html#a18b91ec35300d95c96b3203034a7c3f0">finished()</a> returns true after calling this function, scanners must not process any more records. </p>
<p>Definition at line <a class="el" href="base-sequence-scanner_8cc_source.html#l00170">170</a> of file <a class="el" href="base-sequence-scanner_8cc_source.html">base-sequence-scanner.cc</a>.</p>
<p>References <a class="el" href="base-sequence-scanner_8h_source.html#l00150">impala::BaseSequenceScanner::block_start_</a>, <a class="el" href="scanner-context_8h_source.html#l00116">impala::ScannerContext::Stream::eof()</a>, <a class="el" href="scanner-context_8h_source.html#l00113">impala::ScannerContext::Stream::eosr()</a>, <a class="el" href="scanner-context_8h_source.html#l00123">impala::ScannerContext::Stream::file_offset()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00146">impala::BaseSequenceScanner::finished_</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00031">impala::ScannerContext::Stream::GetBytes()</a>, <a class="el" href="url-parser_8cc_source.html#l00041">impala::hash</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00127">impala::BaseSequenceScanner::header_</a>, <a class="el" href="read-write-util_8cc_source.html#l00072">impala::ReadWriteUtil::HexDump()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00157">impala::BaseSequenceScanner::num_syncs_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00038">RETURN_IF_FALSE</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00057">impala::BaseSequenceScanner::FileHeader::sync</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00049">impala::BaseSequenceScanner::SYNC_HASH_SIZE</a>, and <a class="el" href="base-sequence-scanner_8h_source.html#l00154">impala::BaseSequenceScanner::total_block_size_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00161">impala::HdfsSequenceScanner::ProcessBlockCompressedScanRange()</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">ProcessRange()</a>.</p>
</div>
</div>
<a class="anchor" id="ae05ee8b2f0b254228afcf6abf540f8f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanner::ReportColumnParseError </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> *&#160;</td>
<td class="paramname"><em>desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>len</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>Report parse error for column @ desc. If abort_on_error is true, sets parse_status_ to the error message. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00577">577</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="runtime-state_8h_source.html#l00099">impala::RuntimeState::abort_on_error()</a>, <a class="el" href="descriptors_8h_source.html#l00084">impala::SlotDescriptor::col_pos()</a>, <a class="el" href="runtime-state_8cc_source.html#l00224">impala::RuntimeState::LogError()</a>, <a class="el" href="runtime-state_8h_source.html#l00211">impala::RuntimeState::LogHasSpace()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00127">impala::HdfsScanNode::num_partition_keys()</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00144">impala::HdfsScanner::state_</a>, and <a class="el" href="descriptors_8h_source.html#l00078">impala::SlotDescriptor::type()</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00546">impala::HdfsScanner::ReportTupleParseError()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00768">impala::HdfsTextScanner::WritePartialTuple()</a>.</p>
</div>
</div>
<a class="anchor" id="afd378fe0f2500a3a63012c7b33be4c90"></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> HdfsScanner::ReportTupleParseError </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structimpala_1_1FieldLocation.html">FieldLocation</a> *&#160;</td>
<td class="paramname"><em>fields</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>errors</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>row_idx</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>Utility function to report parse errors for each field. If errors[i] is nonzero, fields[i] had a parse error. row_idx is the idx of the row in the current batch that had the parse error Returns false if parsing should be aborted. In this case parse_status_ is set to the error. This is called from WriteAlignedTuples. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00546">546</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="runtime-state_8h_source.html#l00099">impala::RuntimeState::abort_on_error()</a>, <a class="el" href="scanner-context_8h_source.html#l00118">impala::ScannerContext::Stream::filename()</a>, <a class="el" href="runtime-state_8cc_source.html#l00224">impala::RuntimeState::LogError()</a>, <a class="el" href="runtime-state_8h_source.html#l00211">impala::RuntimeState::LogHasSpace()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00572">impala::HdfsScanner::LogRowParseError()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00119">impala::HdfsScanNode::materialized_slots()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00183">impala::HdfsScanner::num_errors_in_file_</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00577">impala::HdfsScanner::ReportColumnParseError()</a>, <a class="el" href="runtime-state_8cc_source.html#l00219">impala::RuntimeState::ReportFileErrors()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00144">impala::HdfsScanner::state_</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00271">impala::HdfsSequenceScanner::ProcessRange()</a>, and <a class="el" href="hdfs-scanner-ir_8cc_source.html#l00033">impala::HdfsScanner::WriteAlignedTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="a844e61780a44396b88ca2b365dee548d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsRCFileScanner::ResetRowGroup </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>Reset state for a new row group. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">231</a> of file <a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8h_source.html#l00256">impala::HdfsScanner::AttachPool()</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00376">columns_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00394">compressed_key_length_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00205">impala::HdfsScanner::data_buffer_pool_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00390">key_length_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00382">num_rows_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00399">reuse_row_group_buffer_</a>, <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00411">row_group_buffer_size_</a>, and <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00386">row_pos_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="ac583e95bbd1397d0ecbe526e7a35a445"></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> BaseSequenceScanner::SkipToSync </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>sync</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>sync_size</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>Utility function to advance past the next sync marker, reading bytes from stream_. If no sync is found in the scan range, return <a class="el" href="classimpala_1_1Status.html#a580565665ea944eb64f3f495b1bee1e0">Status::OK</a> and sets finished_ to true. It is safe to call this function past eosr.</p>
<ul>
<li>sync: sync marker to search for (does not include 0xFFFFFFFF prefix)</li>
<li>sync_size: number of bytes for sync </li>
</ul>
<p>Definition at line <a class="el" href="base-sequence-scanner_8cc_source.html#l00212">212</a> of file <a class="el" href="base-sequence-scanner_8cc_source.html">base-sequence-scanner.cc</a>.</p>
<p>References <a class="el" href="base-sequence-scanner_8h_source.html#l00150">impala::BaseSequenceScanner::block_start_</a>, <a class="el" href="scanner-context_8h_source.html#l00109">impala::ScannerContext::Stream::bytes_left()</a>, <a class="el" href="scanner-context_8h_source.html#l00116">impala::ScannerContext::Stream::eof()</a>, <a class="el" href="scanner-context_8h_source.html#l00113">impala::ScannerContext::Stream::eosr()</a>, <a class="el" href="scanner-context_8h_source.html#l00123">impala::ScannerContext::Stream::file_offset()</a>, <a class="el" href="scanner-context_8h_source.html#l00118">impala::ScannerContext::Stream::filename()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00194">impala::BaseSequenceScanner::FindSyncBlock()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00146">impala::BaseSequenceScanner::finished_</a>, <a class="el" href="scanner-context_8cc_source.html#l00171">impala::ScannerContext::Stream::GetBuffer()</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00031">impala::ScannerContext::Stream::GetBytes()</a>, <a class="el" href="base-sequence-scanner_8h_source.html#l00157">impala::BaseSequenceScanner::num_syncs_</a>, <a class="el" href="partitioning-throughput-test_8cc_source.html#l00037">offset</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00195">impala::HdfsScanner::parse_status_</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00038">RETURN_IF_FALSE</a>, <a class="el" href="scanner-context_8inline_8h_source.html#l00070">impala::ScannerContext::Stream::SkipBytes()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00150">impala::HdfsScanner::stream_</a>, and <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</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="a370d072e6ebd37891c012fc9da453133"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void HdfsScanner::StartNewRowBatch </td>
<td>(</td>
<td class="paramname"></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>Set batch_ to a new row batch and update tuple_mem_ accordingly. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00108">108</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="mem-pool_8h_source.html#l00092">impala::MemPool::Allocate()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00177">impala::HdfsScanner::batch_</a>, <a class="el" href="runtime-state_8h_source.html#l00098">impala::RuntimeState::batch_size()</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00144">impala::HdfsScanner::state_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00167">impala::HdfsScanner::tuple_byte_size_</a>, <a class="el" href="row-batch_8h_source.html#l00148">impala::RowBatch::tuple_data_pool()</a>, and <a class="el" href="hdfs-scanner_8h_source.html#l00180">impala::HdfsScanner::tuple_mem_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ab7c78e78c88f81f7ff9d87ed12eece4e"></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> HdfsScanner::UpdateDecompressor </td>
<td>(</td>
<td class="paramtype">const THdfsCompression::type &amp;&#160;</td>
<td class="paramname"><em>compression</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>Update the decompressor_ object given a compression type or codec name. Depending on the old compression type and the new one, it may close the old decompressor and/or create a new one of different type. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00513">513</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="classimpala_1_1Codec.html#a0d8e74ac086a91c1cc7dbd7fe166f307">impala::Codec::CreateDecompressor()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00205">impala::HdfsScanner::data_buffer_pool_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00201">impala::HdfsScanner::decompression_type_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00198">impala::HdfsScanner::decompressor_</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>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="descriptors_8h_source.html#l00303">impala::TupleDescriptor::string_slots()</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00132">impala::HdfsScanNode::tuple_desc()</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::InitNewRange()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00061">impala::HdfsSequenceScanner::InitNewRange()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00156">impala::HdfsTextScanner::ProcessSplit()</a>.</p>
</div>
</div>
<a class="anchor" id="aace11af0dd18b9d9dbf7afbc74dab1ba"></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::HdfsScanner::UpdateDecompressor </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>codec</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">
</div>
</div>
<a class="anchor" id="ac95a9d24d8da6d038c93b177c9c48e6b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int HdfsScanner::WriteAlignedTuples </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>
</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>tuple_row_mem</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>row_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structimpala_1_1FieldLocation.html">FieldLocation</a> *&#160;</td>
<td class="paramname"><em>fields</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_tuples</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>max_added_tuples</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>slots_per_tuple</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>row_start_indx</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>Processes batches of fields and writes them out to tuple_row_mem.</p>
<ul>
<li>'pool' mempool to allocate from for auxiliary tuple memory</li>
<li>'tuple_row_mem' preallocated tuple_row memory this function must use.</li>
<li>'fields' must start at the beginning of a tuple.</li>
<li>'num_tuples' number of tuples to process</li>
<li>'max_added_tuples' the maximum number of tuples that should be added to the batch.</li>
<li>'row_start_index' is the number of rows that have already been processed as part of WritePartialTuple. Returns the number of tuples added to the row batch. This can be less than num_tuples/tuples_till_limit because of failed conjuncts. Returns -1 if parsing should be aborted due to parse errors. </li>
</ul>
<p>Definition at line <a class="el" href="hdfs-scanner-ir_8cc_source.html#l00033">33</a> of file <a class="el" href="hdfs-scanner-ir_8cc_source.html">hdfs-scanner-ir.cc</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8cc_source.html#l00546">impala::HdfsScanner::ReportTupleParseError()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00164">impala::HdfsScanner::template_tuple_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00170">impala::HdfsScanner::tuple_</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00167">impala::HdfsScanner::tuple_byte_size_</a>, <a class="el" href="compiler-util_8h_source.html#l00033">UNLIKELY</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00217">impala::HdfsScanner::WriteCompleteTuple()</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="ad6bf05f906b32b58d7df914cbd115492"></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> HdfsScanner::WriteCompleteTuple </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>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structimpala_1_1FieldLocation.html">FieldLocation</a> *&#160;</td>
<td class="paramname"><em>fields</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *&#160;</td>
<td class="paramname"><em>tuple</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>tuple_row</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> *&#160;</td>
<td class="paramname"><em>template_tuple</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>error_fields</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>error_in_row</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes out all slots for 'tuple' from 'fields'. 'fields' must be aligned to the start of the tuple (e.g. fields[0] maps to slots[0]). After writing the tuple, it will be evaluated against the conjuncts.</p>
<ul>
<li>error_fields is an out array. error_fields[i] will be set to true if the ith field had a parse error</li>
<li>error_in_row is an out bool. It is set to true if any field had parse errors Returns whether the resulting tuplerow passed the conjuncts. The parsing of the fields and evaluating against conjuncts is combined in this function. This is done so it can be possible to evaluate conjuncts as slots are materialized (on partial tuples). This function is replaced by a codegen'd function at runtime. This is the reason that the out error parameters are typed uint8_t instead of bool. We need to be able to match this function's signature identically for the codegen'd function. Bool's as out parameters can get converted to bytes by the compiler and rather than implicitly depending on that to happen, we will explicitly type them to bytes. TODO: revisit this </li>
</ul>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00217">217</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8h_source.html#l00266">impala::HdfsScanner::EvalConjuncts()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00355">impala::HdfsScanner::InitTuple()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00059">impala::FieldLocation::len</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00119">impala::HdfsScanNode::materialized_slots()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="tuple-row_8h_source.html#l00034">impala::TupleRow::SetTuple()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00186">impala::HdfsScanner::text_converter_</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00124">impala::HdfsScanNode::tuple_idx()</a>, and <a class="el" href="compiler-util_8h_source.html#l00033">UNLIKELY</a>.</p>
<p>Referenced by <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00271">impala::HdfsSequenceScanner::ProcessRange()</a>, and <a class="el" href="hdfs-scanner-ir_8cc_source.html#l00033">impala::HdfsScanner::WriteAlignedTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="af5a25b22a0fb0b5bea62602fe224b021"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int HdfsScanner::WriteEmptyTuples </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">int&#160;</td>
<td class="paramname"><em>num_tuples</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>Utility method to write out tuples when there are no materialized fields (e.g. select count(*) or only partition keys). num_tuples - Total number of tuples to write out. Returns the number of tuples added to the row batch. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00157">157</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00100">impala::RowBatch::AddRow()</a>, <a class="el" href="row-batch_8h_source.html#l00094">impala::RowBatch::AddRows()</a>, <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="row-batch_8h_source.html#l00216">impala::RowBatch::capacity()</a>, <a class="el" href="row-batch_8h_source.html#l00109">impala::RowBatch::CommitLastRow()</a>, <a class="el" href="row-batch_8h_source.html#l00102">impala::RowBatch::CommitRows()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00266">impala::HdfsScanner::EvalConjuncts()</a>, <a class="el" href="row-batch_8h_source.html#l00140">impala::RowBatch::GetRow()</a>, <a class="el" href="row-batch_8h_source.html#l00087">impala::RowBatch::INVALID_ROW_INDEX</a>, <a class="el" href="row-batch_8h_source.html#l00215">impala::RowBatch::num_rows()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="tuple-row_8h_source.html#l00034">impala::TupleRow::SetTuple()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00164">impala::HdfsScanner::template_tuple_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00124">impala::HdfsScanNode::tuple_idx()</a>.</p>
<p>Referenced by <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">ProcessRange()</a>.</p>
</div>
</div>
<a class="anchor" id="ae748aa64d908ff8a1fdcf3ae942ee51c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int HdfsScanner::WriteEmptyTuples </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_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>tuple_row</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_tuples</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>Write empty tuples and commit them to the context object. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8cc_source.html#l00195">195</a> of file <a class="el" href="hdfs-scanner_8cc_source.html">hdfs-scanner.cc</a>.</p>
<p>References <a class="el" href="hdfs-scanner_8h_source.html#l00266">impala::HdfsScanner::EvalConjuncts()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00368">impala::HdfsScanner::next_row()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00141">impala::HdfsScanner::scan_node_</a>, <a class="el" href="tuple-row_8h_source.html#l00034">impala::TupleRow::SetTuple()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00164">impala::HdfsScanner::template_tuple_</a>, and <a class="el" href="hdfs-scan-node_8h_source.html#l00124">impala::HdfsScanNode::tuple_idx()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a5c6954a13e4a285d2e4b544574c03b76"></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_1RowBatch.html">RowBatch</a>* impala::HdfsScanner::batch_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The current row batch being populated. Creating new row batches, attaching context resources, and handing off to the scan node is handled by this class in <a class="el" href="classimpala_1_1HdfsScanner.html#ab72a9901f5c1c2cb0f053ce6ad45d9b6">CommitRows()</a>, but <a class="el" href="classimpala_1_1HdfsScanner.html#a94b437624601d6e7626e9b3d59cd87da">AttachPool()</a> must be called by scanner subclasses to attach any memory allocated by that subclass. All row batches created by this class are transferred to the scan node (i.e., all batches are ultimately owned by the scan node). </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00177">177</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00145">impala::HdfsScanner::AddFinalRowBatch()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00256">impala::HdfsScanner::AttachPool()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00115">impala::HdfsScanner::GetMemory()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00368">impala::HdfsScanner::next_row()</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#l00769">impala::HdfsParquetScanner::ProcessSplit()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00067">impala::HdfsScanner::~HdfsScanner()</a>.</p>
</div>
</div>
<a class="anchor" id="ad2cfb81b1d98e908ed847a4c8b8120c2"></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="structimpala_1_1HdfsRCFileScanner_1_1ColumnInfo.html">ColumnInfo</a>&gt; impala::HdfsRCFileScanner::columns_</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 of column descriptions for each column in the file (i.e., may contain a different number of non-partition columns than are in the table metadata). Indexed by column index, including non-materialized columns. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00376">376</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00344">GetCurrentKeyBuffer()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">InitNewRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00368">NextField()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00400">NextRow()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">ReadColumnBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="a3b9b9a4d54fac3fc9e193205c86df9a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsRCFileScanner::compressed_key_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>Compressed size of the row group's key buffers. Read from the row group header. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00394">394</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00278">ReadRowGroupHeader()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="afb3a3d0ceb454e1ea3aa549786e45fac"></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::HdfsScanner::conjunct_ctxs_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> for each conjunct. Each scanner has its own ExprContexts so the conjuncts can be safely evaluated in parallel. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00154">154</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00082">impala::HdfsScanner::Close()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00266">impala::HdfsScanner::EvalConjuncts()</a>, <a class="el" href="hdfs-scanner-ir_8cc_source.html#l00079">impala::HdfsScanner::GetConjunctCtx()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a6c1f7899de6ac5baca6914640f4859f4"></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_1ScannerContext.html">ScannerContext</a>* impala::HdfsScanner::context_</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>Context for this scanner. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00147">147</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00145">impala::HdfsScanner::AddFinalRowBatch()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00805">impala::HdfsParquetScanner::AssembleRows()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00530">impala::HdfsTextScanner::FillByteBufferCompressedFile()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00437">impala::HdfsTextScanner::FillByteBufferGzip()</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-sequence-scanner_8cc_source.html#l00061">impala::HdfsSequenceScanner::InitNewRange()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::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">ProcessRange()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00769">impala::HdfsParquetScanner::ProcessSplit()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00228">impala::HdfsTextScanner::ResetScanner()</a>.</p>
</div>
</div>
<a class="anchor" id="ae86f3019c271de0d0593204003ee1653"></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::HdfsScanner::data_buffer_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>Pool to allocate per data block memory. This should be used with the decompressor and any other per data block allocations. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00205">205</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</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-text-scanner_8cc_source.html#l00437">impala::HdfsTextScanner::FillByteBufferGzip()</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#l00441">impala::HdfsSequenceScanner::ReadCompressedBlock()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</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#l00768">impala::HdfsTextScanner::WritePartialTuple()</a>.</p>
</div>
</div>
<a class="anchor" id="a7bd58a77c6acecf09cbfcc9b4e592618"></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::HdfsScanner::decompress_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>Time spent decompressing bytes. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00208">208</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-text-scanner_8cc_source.html#l00530">impala::HdfsTextScanner::FillByteBufferCompressedFile()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00437">impala::HdfsTextScanner::FillByteBufferGzip()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00103">impala::HdfsSequenceScanner::GetRecord()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00517">impala::HdfsAvroScanner::ProcessRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">ReadColumnBuffers()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00441">impala::HdfsSequenceScanner::ReadCompressedBlock()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00532">impala::HdfsParquetScanner::BaseColumnReader::ReadDataPage()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>.</p>
</div>
</div>
<a class="anchor" id="aba0c7e8797db0a61444e50f342c775c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">THdfsCompression::type impala::HdfsScanner::decompression_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>The most recently used decompression type. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00201">201</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-text-scanner_8cc_source.html#l00410">impala::HdfsTextScanner::FillByteBuffer()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00530">impala::HdfsTextScanner::FillByteBufferCompressedFile()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00513">impala::HdfsScanner::UpdateDecompressor()</a>.</p>
</div>
</div>
<a class="anchor" id="a8d995c8326def52de037ecf074fc2654"></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_1Codec.html">Codec</a>&gt; impala::HdfsScanner::decompressor_</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>Decompressor class to use, if any. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00198">198</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</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-scanner_8cc_source.html#l00082">impala::HdfsScanner::Close()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00410">impala::HdfsTextScanner::FillByteBuffer()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00530">impala::HdfsTextScanner::FillByteBufferCompressedFile()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00437">impala::HdfsTextScanner::FillByteBufferGzip()</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#l00103">impala::HdfsSequenceScanner::GetRecord()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">InitNewRange()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00517">impala::HdfsAvroScanner::ProcessRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">ReadColumnBuffers()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00441">impala::HdfsSequenceScanner::ReadCompressedBlock()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00513">impala::HdfsScanner::UpdateDecompressor()</a>.</p>
</div>
</div>
<a class="anchor" id="a0df2c19265535245917d3bb3b6095ba7"></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::HdfsScanner::FILE_BLOCK_SIZE = 4096</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>Assumed size of an OS file block. Used mostly when reading file format headers, etc. This probably ought to be a derived number from the environment. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00095">95</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac7f1cf14b61ed091ee80c4f2dbadba4c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structimpala_1_1BaseSequenceScanner_1_1FileHeader.html">FileHeader</a>* impala::BaseSequenceScanner::header_</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>File header for this scan range. This is not owned by the parent scan node. </p>
<p>Definition at line <a class="el" href="base-sequence-scanner_8h_source.html#l00127">127</a> of file <a class="el" href="base-sequence-scanner_8h_source.html">base-sequence-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="base-sequence-scanner_8cc_source.html#l00082">impala::BaseSequenceScanner::Close()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00103">impala::HdfsSequenceScanner::GetRecord()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::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">InitNewRange()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00125">impala::HdfsAvroScanner::ParseMetadata()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00161">impala::HdfsSequenceScanner::ProcessBlockCompressedScanRange()</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="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">ReadColumnBuffers()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00099">impala::HdfsAvroScanner::ReadFileHeader()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00345">impala::HdfsSequenceScanner::ReadFileHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00107">ReadFileHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00197">ReadNumColumnsMetadata()</a>, and <a class="el" href="base-sequence-scanner_8cc_source.html#l00170">impala::BaseSequenceScanner::ReadSync()</a>.</p>
</div>
</div>
<a class="anchor" id="ac62358e62350918ee1a0c429cd74fd5c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const int BaseSequenceScanner::HEADER_SIZE = 1024</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>Estimate of header size in bytes. This is initial number of bytes to issue per file. If the estimate is too low, more bytes will be read as necessary. </p>
<p>Definition at line <a class="el" href="base-sequence-scanner_8h_source.html#l00121">121</a> of file <a class="el" href="base-sequence-scanner_8h_source.html">base-sequence-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="base-sequence-scanner_8cc_source.html#l00040">impala::BaseSequenceScanner::IssueInitialRanges()</a>.</p>
</div>
</div>
<a class="anchor" id="a91b18c9b43359d20da827d4ba3d2974f"></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;uint8_t&gt; impala::HdfsRCFileScanner::key_buffer_</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>Buffer for copying key buffers. This buffer is reused between row groups. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00379">379</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>.</p>
</div>
</div>
<a class="anchor" id="afe72fd97d8e9eb2ffee8b41dfb500679"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsRCFileScanner::key_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>Size of the row group's key buffers. Read from the row group header. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00390">390</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00278">ReadRowGroupHeader()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="aa0fa3a63201936de45a12623cef65e74"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char * HdfsScanner::LLVM_CLASS_NAME = &quot;class.impala::HdfsScanner&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>Scanner subclasses must implement these static functions as well. Unfortunately, c++ does not allow static virtual functions. Issue the initial ranges for 'files'. <a class="el" href="structimpala_1_1HdfsFileDesc.html">HdfsFileDesc</a> groups all the splits assigned to this scan node by file. This is called before any of the scanner subclasses are created to process splits in 'files'. The strategy on how to parse the scan ranges depends on the file format.</p>
<ul>
<li>For simple text files, all the splits are simply issued to the io mgr and one split == one scan range.</li>
<li>For formats with a header, the metadata is first parsed, and then the ranges are issued to the io mgr. There is one scan range for the header and one range for each split.</li>
<li>For columnar formats, the header is parsed and only the relevant byte ranges should be issued to the io mgr. This is one range for the metadata and one range for each column, for each split. This function is how scanners can pick their strategy. void IssueInitialRanges(HdfsScanNode* scan_node, const std::vector&lt;HdfsFileDesc*&gt;&amp; files); Codegen all functions for this scanner. The codegen'd function is specific to the scanner subclass but not specific to each scanner object. We don't want to codegen the functions for each scanner object. llvm::Function* Codegen(HdfsScanNode* scan_node); </li>
</ul>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00137">137</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</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="a06581f363b634869efc5d09839bc3e25"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsScanner::num_errors_in_file_</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>number of errors in current file </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00183">183</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00546">impala::HdfsScanner::ReportTupleParseError()</a>.</p>
</div>
</div>
<a class="anchor" id="a922115776b26544df5d86ad82dff87ef"></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::HdfsScanner::num_null_bytes_</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>Number of null bytes in the tuple. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00189">189</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8h_source.html#l00355">impala::HdfsScanner::InitTuple()</a>.</p>
</div>
</div>
<a class="anchor" id="a842d575d3707d08a9aae82bc8f3b5092"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsRCFileScanner::num_rows_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>number of rows in this rowgroup object </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00382">382</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00400">NextRow()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="a0184e49248bc243ed45c77b8fb7aeac4"></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::BaseSequenceScanner::only_parsing_header_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If true, this scanner object is only for processing the header. </p>
<p>Definition at line <a class="el" href="base-sequence-scanner_8h_source.html#l00130">130</a> of file <a class="el" href="base-sequence-scanner_8h_source.html">base-sequence-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="base-sequence-scanner_8cc_source.html#l00082">impala::BaseSequenceScanner::Close()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00274">impala::BaseSequenceScanner::CloseFileRanges()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::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">InitNewRange()</a>, and <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>.</p>
</div>
</div>
<a class="anchor" id="a8196c5dc7e842622df7ab43b8cd68397"></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::HdfsScanner::parse_status_</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>Contains current parse status to minimize the number of <a class="el" href="classimpala_1_1Status.html">Status</a> objects returned. This significantly minimizes the cross compile dependencies for llvm since status objects inline a bunch of string functions. Also, status objects aren't extremely cheap to create and destroy. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00195">195</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-text-scanner_8cc_source.html#l00437">impala::HdfsTextScanner::FillByteBufferGzip()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00103">impala::HdfsSequenceScanner::GetRecord()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00125">impala::HdfsAvroScanner::ParseMetadata()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00161">impala::HdfsSequenceScanner::ProcessBlockCompressedScanRange()</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">ProcessRange()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00419">impala::HdfsSequenceScanner::ReadBlockHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">ReadColumnBuffers()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00441">impala::HdfsSequenceScanner::ReadCompressedBlock()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00099">impala::HdfsAvroScanner::ReadFileHeader()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00345">impala::HdfsSequenceScanner::ReadFileHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00107">ReadFileHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00197">ReadNumColumnsMetadata()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00278">ReadRowGroupHeader()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00170">impala::BaseSequenceScanner::ReadSync()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00577">impala::HdfsScanner::ReportColumnParseError()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00546">impala::HdfsScanner::ReportTupleParseError()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00212">impala::BaseSequenceScanner::SkipToSync()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="adbbdb407553199e8185c098cce3234c7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char *const HdfsRCFileScanner::RCFILE_KEY_CLASS_NAME</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;org.apache.hadoop.hive.ql.io.RCFile$KeyBuffer&quot;</span></div>
</div><!-- fragment --><p>The key class name located in the RCFile Header. This is always "org.apache.hadoop.hive.ql.io.RCFile$KeyBuffer" </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00243">243</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00107">ReadFileHeader()</a>.</p>
</div>
</div>
<a class="anchor" id="a86ed710efd25642c09b9e08bb5e9594c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char *const HdfsRCFileScanner::RCFILE_METADATA_KEY_NUM_COLS</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;hive.io.rcfile.column.number&quot;</span></div>
</div><!-- fragment --><p>RCFile metadata key for determining the number of columns present in the RCFile: "hive.io.rcfile.column.number" </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00251">251</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00197">ReadNumColumnsMetadata()</a>.</p>
</div>
</div>
<a class="anchor" id="ad315e4ffbfa2fe8c4d1860c2b731e2e1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char *const HdfsRCFileScanner::RCFILE_VALUE_CLASS_NAME</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;org.apache.hadoop.hive.ql.io.RCFile$ValueBuffer&quot;</span></div>
</div><!-- fragment --><p>The value class name located in the RCFile Header. This is always "org.apache.hadoop.hive.ql.io.RCFile$ValueBuffer" </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00247">247</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00107">ReadFileHeader()</a>.</p>
</div>
</div>
<a class="anchor" id="a5714007ac080e61cc6bcb9312739ecd0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint8_t HdfsRCFileScanner::RCFILE_VERSION_HEADER = {'R', 'C', 'F', 1}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The four byte RCFile unique version header present at the beginning of the file {'R', 'C', 'F' 1} </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00255">255</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00107">ReadFileHeader()</a>.</p>
</div>
</div>
<a class="anchor" id="a764414857822ed2a182f5065ad58ec75"></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::HdfsRCFileScanner::reuse_row_group_buffer_</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 row_group_buffer_ can be reused across row groups, otherwise, it (more specifically the data_buffer_pool_ that allocated the row_group_buffer_) must be attached to the row batch. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00399">399</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">InitNewRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="ad428cd5a53fae9668111c1ab05121a16"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t* impala::HdfsRCFileScanner::row_group_buffer_</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>Buffer containing the entire row group. We allocate a buffer for the entire row group, skipping non-materialized columns. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00403">403</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">ReadColumnBuffers()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="ad91aa34f5b586fa87e6b8c121f5f6b34"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsRCFileScanner::row_group_buffer_size_</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 allocated size of 'row_group_buffer_'. 'row_group_buffer_' is reused across row groups and will grow as necessary. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00411">411</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">InitNewRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="adfc4a2215d4ad70e2c164f66780cbad9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsRCFileScanner::row_group_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>Sum of the bytes lengths of the materialized columns in the current row group. This is the number of valid bytes in row_group_buffer_. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00407">407</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00344">GetCurrentKeyBuffer()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">ReadColumnBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="a141f22606d0abc8c348a46beb920c49b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsRCFileScanner::row_pos_</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>Current row position in this rowgroup. This value is incremented each time <a class="el" href="classimpala_1_1HdfsRCFileScanner.html#ad1bf74dce09a7b4453764ad9148b2f83">NextRow()</a> is called. </p>
<p>Definition at line <a class="el" href="hdfs-rcfile-scanner_8h_source.html#l00386">386</a> of file <a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00400">NextRow()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, and <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00231">ResetRowGroup()</a>.</p>
</div>
</div>
<a class="anchor" id="a1b361d5cc69ef26b606349a26c1a8415"></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">HdfsScanNode</a>* impala::HdfsScanner::scan_node_</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 node that started this scanner. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00141">141</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00145">impala::HdfsScanner::AddFinalRowBatch()</a>, <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#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-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01050">impala::HdfsParquetScanner::CreateColumnReaders()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00472">impala::HdfsParquetScanner::CreateReader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00564">DebugString()</a>, <a class="el" href="hdfs-avro-scanner-ir_8cc_source.html#l00023">impala::HdfsAvroScanner::DecodeAvroData()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00530">impala::HdfsTextScanner::FillByteBufferCompressedFile()</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-scanner_8cc_source.html#l00087">impala::HdfsScanner::InitializeWriteTuplesFn()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00202">impala::HdfsTextScanner::InitNewRange()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::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">InitNewRange()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00125">impala::HdfsAvroScanner::ParseMetadata()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00620">impala::HdfsTextScanner::Prepare()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00074">impala::BaseSequenceScanner::Prepare()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00440">impala::HdfsParquetScanner::Prepare()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00088">impala::HdfsSequenceScanner::Prepare()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00060">Prepare()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00161">impala::HdfsSequenceScanner::ProcessBlockCompressedScanRange()</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">ProcessRange()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00532">impala::HdfsParquetScanner::BaseColumnReader::ReadDataPage()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00577">impala::HdfsScanner::ReportColumnParseError()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00546">impala::HdfsScanner::ReportTupleParseError()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00228">impala::HdfsTextScanner::ResetScanner()</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#l00108">impala::HdfsScanner::StartNewRowBatch()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00513">impala::HdfsScanner::UpdateDecompressor()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00426">impala::HdfsAvroScanner::VerifyTypesMatch()</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>, <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="a8d1c8ea0d46e9378c6db2c24395a3f78"></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::HdfsScanner::state_</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_1RuntimeState.html">RuntimeState</a> for error reporting. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00144">144</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00082">impala::HdfsScanner::Close()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00437">impala::HdfsTextScanner::FillByteBufferGzip()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00253">impala::HdfsTextScanner::FinishScanRange()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00620">impala::HdfsTextScanner::Prepare()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::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#l00161">impala::HdfsSequenceScanner::ProcessBlockCompressedScanRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00441">impala::HdfsSequenceScanner::ReadCompressedBlock()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00284">impala::BaseSequenceScanner::ReadPastSize()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">ReadRowGroup()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00577">impala::HdfsScanner::ReportColumnParseError()</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#l00108">impala::HdfsScanner::StartNewRowBatch()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01290">impala::HdfsParquetScanner::ValidateColumn()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="aa539050780939fc85267c63e9f262e05"></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_1ScannerContext_1_1Stream.html">ScannerContext::Stream</a>* impala::HdfsScanner::stream_</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 first stream for context_. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00150">150</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</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#l01050">impala::HdfsParquetScanner::CreateColumnReaders()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00564">DebugString()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00410">impala::HdfsTextScanner::FillByteBuffer()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00530">impala::HdfsTextScanner::FillByteBufferCompressedFile()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00437">impala::HdfsTextScanner::FillByteBufferGzip()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00577">impala::HdfsTextScanner::FindFirstTuple()</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#l00103">impala::HdfsSequenceScanner::GetRecord()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00202">impala::HdfsTextScanner::InitNewRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">InitNewRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00368">NextField()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00125">impala::HdfsAvroScanner::ParseMetadata()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00074">impala::BaseSequenceScanner::Prepare()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00161">impala::HdfsSequenceScanner::ProcessBlockCompressedScanRange()</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">ProcessRange()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00156">impala::HdfsTextScanner::ProcessSplit()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00769">impala::HdfsParquetScanner::ProcessSplit()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00419">impala::HdfsSequenceScanner::ReadBlockHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00413">ReadColumnBuffers()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00441">impala::HdfsSequenceScanner::ReadCompressedBlock()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00099">impala::HdfsAvroScanner::ReadFileHeader()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00345">impala::HdfsSequenceScanner::ReadFileHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00107">ReadFileHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00308">ReadKeyBuffers()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00197">ReadNumColumnsMetadata()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00278">ReadRowGroupHeader()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00170">impala::BaseSequenceScanner::ReadSync()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00546">impala::HdfsScanner::ReportTupleParseError()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00212">impala::BaseSequenceScanner::SkipToSync()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l01263">impala::HdfsParquetScanner::ValidateFileMetadata()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00426">impala::HdfsAvroScanner::VerifyTypesMatch()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="a5814338e23714b1d66022f75bbb48c5b"></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::BaseSequenceScanner::SYNC_HASH_SIZE = 16</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>Size of the sync hash field. </p>
<p>Definition at line <a class="el" href="base-sequence-scanner_8h_source.html#l00049">49</a> of file <a class="el" href="base-sequence-scanner_8h_source.html">base-sequence-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="base-sequence-scanner_8cc_source.html#l00100">impala::BaseSequenceScanner::ProcessSplit()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00099">impala::HdfsAvroScanner::ReadFileHeader()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00345">impala::HdfsSequenceScanner::ReadFileHeader()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00107">ReadFileHeader()</a>, and <a class="el" href="base-sequence-scanner_8cc_source.html#l00170">impala::BaseSequenceScanner::ReadSync()</a>.</p>
</div>
</div>
<a class="anchor" id="ae3d4eec40706fa6d653246a19d17e006"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const int BaseSequenceScanner::SYNC_MARKER = -1</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>Sync indicator. </p>
<p>Definition at line <a class="el" href="base-sequence-scanner_8h_source.html#l00124">124</a> of file <a class="el" href="base-sequence-scanner_8h_source.html">base-sequence-scanner.h</a>.</p>
<p>Referenced by <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">ProcessRange()</a>.</p>
</div>
</div>
<a class="anchor" id="af1088c4f13acd1a6374c2693041f372e"></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_1Tuple.html">Tuple</a>* impala::HdfsScanner::template_tuple_</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 partially materialized tuple with only partition key slots set. The non-partition key slots are set to NULL. The template tuple must be copied into tuple_ before any of the other slots are materialized. Pointer is NULL if there are no partition key slots. This template tuple is computed once for each file and valid for the duration of that file. It is owned by the HDFS scan node. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00164">164</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00093">impala::HdfsAvroScanner::AllocateFileHeader()</a>, <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#l01050">impala::HdfsParquetScanner::CreateColumnReaders()</a>, <a class="el" href="hdfs-avro-scanner-ir_8cc_source.html#l00023">impala::HdfsAvroScanner::DecodeAvroData()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::InitNewRange()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</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">ProcessRange()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>, <a class="el" href="hdfs-scanner-ir_8cc_source.html#l00033">impala::HdfsScanner::WriteAlignedTuples()</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="aebc25f28c691efb3b377e2cf7bc728a8"></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_1TextConverter.html">TextConverter</a>&gt; impala::HdfsScanner::text_converter_</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>Helper class for converting text to other types;. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00186">186</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <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#l00060">Prepare()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">ProcessRange()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00217">impala::HdfsScanner::WriteCompleteTuple()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00768">impala::HdfsTextScanner::WritePartialTuple()</a>.</p>
</div>
</div>
<a class="anchor" id="a0f92b70b3120fbf0b5ed833d26176c39"></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_1Tuple.html">Tuple</a>* impala::HdfsScanner::tuple_</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>Current tuple pointer into tuple_mem_. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00170">170</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <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-text-scanner_8cc_source.html#l00325">impala::HdfsTextScanner::ProcessRange()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00271">impala::HdfsSequenceScanner::ProcessRange()</a>, <a class="el" href="hdfs-scanner-ir_8cc_source.html#l00033">impala::HdfsScanner::WriteAlignedTuples()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="a80ed99fe7814a4047c9220d31fc57536"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::HdfsScanner::tuple_byte_size_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fixed size of each tuple, in bytes. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00167">167</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.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_8h_source.html#l00355">impala::HdfsScanner::InitTuple()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00363">impala::HdfsScanner::next_tuple()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>, and <a class="el" href="hdfs-scanner-ir_8cc_source.html#l00033">impala::HdfsScanner::WriteAlignedTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="a8b0b36b42ab140cbb793aa986683c432"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t* impala::HdfsScanner::tuple_mem_</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 tuple memory of batch_. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00180">180</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00115">impala::HdfsScanner::GetMemory()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="aea086d8b6a0604df26216cacea3feeed"></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#a1875e5409fedbadf979001ef761ae753">WriteTuplesFn</a> impala::HdfsScanner::write_tuples_fn_</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>Jitted write tuples function pointer. Null if codegen is disabled. </p>
<p>Definition at line <a class="el" href="hdfs-scanner_8h_source.html#l00215">215</a> of file <a class="el" href="hdfs-scanner_8h_source.html">hdfs-scanner.h</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00087">impala::HdfsScanner::InitializeWriteTuplesFn()</a>, <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>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>be/src/exec/<a class="el" href="hdfs-rcfile-scanner_8h_source.html">hdfs-rcfile-scanner.h</a></li>
<li>be/src/exec/<a class="el" href="hdfs-rcfile-scanner_8cc_source.html">hdfs-rcfile-scanner.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_1HdfsRCFileScanner.html">HdfsRCFileScanner</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>