blob: fbca34cbf665ece1fc5b4a85ca2056e588198dc4 [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::RowBatch 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_1RowBatch.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classimpala_1_1RowBatch-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">impala::RowBatch Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="row-batch_8h_source.html">row-batch.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for impala::RowBatch:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1RowBatch__coll__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a741f4d17857e60858cd23de4f7461460"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a741f4d17857e60858cd23de4f7461460">RowBatch</a> (const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> &amp;<a class="el" href="classimpala_1_1RowBatch.html#a1879b7b9b72142d7a56d4846ad307bd9">row_desc</a>, int <a class="el" href="classimpala_1_1RowBatch.html#ab171442ddcb3a1c3aab36991dbb511bb">capacity</a>, <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> *<a class="el" href="expr-benchmark_8cc.html#ad327327fa716227ff7993880cbc4698f">tracker</a>)</td></tr>
<tr class="separator:a741f4d17857e60858cd23de4f7461460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5b6ef67054cc6b7ad61bff2465286f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#aa5b6ef67054cc6b7ad61bff2465286f4">RowBatch</a> (const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> &amp;<a class="el" href="classimpala_1_1RowBatch.html#a1879b7b9b72142d7a56d4846ad307bd9">row_desc</a>, const TRowBatch &amp;input_batch, <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> *<a class="el" href="expr-benchmark_8cc.html#ad327327fa716227ff7993880cbc4698f">tracker</a>)</td></tr>
<tr class="separator:aa5b6ef67054cc6b7ad61bff2465286f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2d33305d7a6c7effe46910fc02bcf99"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#ad2d33305d7a6c7effe46910fc02bcf99">~RowBatch</a> ()</td></tr>
<tr class="separator:ad2d33305d7a6c7effe46910fc02bcf99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7acd4c5911cd2759f9dd4c207721d8ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a7acd4c5911cd2759f9dd4c207721d8ec">AddRows</a> (int n)</td></tr>
<tr class="separator:a7acd4c5911cd2759f9dd4c207721d8ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34b82362d8ad1e89c433e04999a6a0cb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a34b82362d8ad1e89c433e04999a6a0cb">AddRow</a> ()</td></tr>
<tr class="separator:a34b82362d8ad1e89c433e04999a6a0cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c4883960d142b0ec5ebdd182da1c79b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a5c4883960d142b0ec5ebdd182da1c79b">CommitRows</a> (int n)</td></tr>
<tr class="separator:a5c4883960d142b0ec5ebdd182da1c79b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef978a61ab3f47c2b9e53e304eead853"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#aef978a61ab3f47c2b9e53e304eead853">CommitLastRow</a> ()</td></tr>
<tr class="separator:aef978a61ab3f47c2b9e53e304eead853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56893f5c0ac2f5831c85e8c87e838089"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a56893f5c0ac2f5831c85e8c87e838089">set_num_rows</a> (int <a class="el" href="classimpala_1_1RowBatch.html#ac695df3b85ee416b3d99844813ae813d">num_rows</a>)</td></tr>
<tr class="separator:a56893f5c0ac2f5831c85e8c87e838089"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a040ced48537a518bd45a89e64f2e8281"><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_1RowBatch.html#a040ced48537a518bd45a89e64f2e8281">AtCapacity</a> ()</td></tr>
<tr class="separator:a040ced48537a518bd45a89e64f2e8281"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af455172ebe4a6e207f063f9d61b7e3ea"><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_1RowBatch.html#af455172ebe4a6e207f063f9d61b7e3ea">AtCapacity</a> (<a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *tuple_pool)</td></tr>
<tr class="separator:af455172ebe4a6e207f063f9d61b7e3ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa748c2de46658330f617535567cae744"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#aa748c2de46658330f617535567cae744">TotalByteSize</a> ()</td></tr>
<tr class="separator:aa748c2de46658330f617535567cae744"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9320ed986b0717ef26d73d871f3b3a42"><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_1RowBatch.html#a9320ed986b0717ef26d73d871f3b3a42">GetRow</a> (int row_idx)</td></tr>
<tr class="separator:a9320ed986b0717ef26d73d871f3b3a42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12781e4e8e07a85541f4b37273a33e64"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a12781e4e8e07a85541f4b37273a33e64">row_byte_size</a> ()</td></tr>
<tr class="separator:a12781e4e8e07a85541f4b37273a33e64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82611d227a12dd5c2e1ca1ba77d86736"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a82611d227a12dd5c2e1ca1ba77d86736">tuple_data_pool</a> ()</td></tr>
<tr class="separator:a82611d227a12dd5c2e1ca1ba77d86736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2806ba7b3c888423d1f527ef7ff7421"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#ab2806ba7b3c888423d1f527ef7ff7421">num_io_buffers</a> () const </td></tr>
<tr class="separator:ab2806ba7b3c888423d1f527ef7ff7421"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ee1396e264b2945400d321dba864d30"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a1ee1396e264b2945400d321dba864d30">num_tuple_streams</a> () const </td></tr>
<tr class="separator:a1ee1396e264b2945400d321dba864d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac351eaf211eb53882564b604db07b824"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#ac351eaf211eb53882564b604db07b824">Reset</a> ()</td></tr>
<tr class="memdesc:ac351eaf211eb53882564b604db07b824"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the row batch, returning all resources it has accumulated. <a href="#ac351eaf211eb53882564b604db07b824">More...</a><br/></td></tr>
<tr class="separator:ac351eaf211eb53882564b604db07b824"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a494923883448c2b78786d391465107ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a494923883448c2b78786d391465107ce">AddIoBuffer</a> (<a class="el" href="classimpala_1_1DiskIoMgr_1_1BufferDescriptor.html">DiskIoMgr::BufferDescriptor</a> *buffer)</td></tr>
<tr class="memdesc:a494923883448c2b78786d391465107ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add io buffer to this row batch. <a href="#a494923883448c2b78786d391465107ce">More...</a><br/></td></tr>
<tr class="separator:a494923883448c2b78786d391465107ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a923a9f1e331245092d6d5ae4141cbbb7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a923a9f1e331245092d6d5ae4141cbbb7">AddTupleStream</a> (<a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> *stream)</td></tr>
<tr class="separator:a923a9f1e331245092d6d5ae4141cbbb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50bef2f2a7162d478aafef2dfd508e84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a50bef2f2a7162d478aafef2dfd508e84">MarkNeedToReturn</a> ()</td></tr>
<tr class="separator:a50bef2f2a7162d478aafef2dfd508e84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2890c318601bac6712e469335940a1e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a2890c318601bac6712e469335940a1e2">TransferResourceOwnership</a> (<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *dest)</td></tr>
<tr class="separator:a2890c318601bac6712e469335940a1e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af286af57396a4cb409a19ace07f87aff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#af286af57396a4cb409a19ace07f87aff">CopyRow</a> (<a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *src, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *dest)</td></tr>
<tr class="separator:af286af57396a4cb409a19ace07f87aff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7af92976c8501cce4620d6e0bb6ed4f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a7af92976c8501cce4620d6e0bb6ed4f4">CopyRows</a> (int dest, int src, int <a class="el" href="classimpala_1_1RowBatch.html#ac695df3b85ee416b3d99844813ae813d">num_rows</a>)</td></tr>
<tr class="separator:a7af92976c8501cce4620d6e0bb6ed4f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc32ad19ee3a0cd456cd3da9be8f48da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#afc32ad19ee3a0cd456cd3da9be8f48da">ClearRow</a> (<a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr>
<tr class="separator:afc32ad19ee3a0cd456cd3da9be8f48da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f777637e6f27003960633011c7d1605"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a2f777637e6f27003960633011c7d1605">AcquireState</a> (<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *src)</td></tr>
<tr class="separator:a2f777637e6f27003960633011c7d1605"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a7ff7bf9d6bd28990eedab985477390"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a5a7ff7bf9d6bd28990eedab985477390">Serialize</a> (TRowBatch *output_batch)</td></tr>
<tr class="separator:a5a7ff7bf9d6bd28990eedab985477390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac695df3b85ee416b3d99844813ae813d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#ac695df3b85ee416b3d99844813ae813d">num_rows</a> () const </td></tr>
<tr class="separator:ac695df3b85ee416b3d99844813ae813d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab171442ddcb3a1c3aab36991dbb511bb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#ab171442ddcb3a1c3aab36991dbb511bb">capacity</a> () const </td></tr>
<tr class="separator:ab171442ddcb3a1c3aab36991dbb511bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1879b7b9b72142d7a56d4846ad307bd9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a1879b7b9b72142d7a56d4846ad307bd9">row_desc</a> () const </td></tr>
<tr class="separator:a1879b7b9b72142d7a56d4846ad307bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a602415d7e138ddbd21dbccb0c7689543"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a602415d7e138ddbd21dbccb0c7689543">MaxTupleBufferSize</a> ()</td></tr>
<tr class="memdesc:a602415d7e138ddbd21dbccb0c7689543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the maximum size needed to store tuple data for this row batch. <a href="#a602415d7e138ddbd21dbccb0c7689543">More...</a><br/></td></tr>
<tr class="separator:a602415d7e138ddbd21dbccb0c7689543"><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:af12857237879012707070a5deb7a529f"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#af12857237879012707070a5deb7a529f">GetBatchSize</a> (const TRowBatch &amp;batch)</td></tr>
<tr class="memdesc:af12857237879012707070a5deb7a529f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function: returns total size of batch. <a href="#af12857237879012707070a5deb7a529f">More...</a><br/></td></tr>
<tr class="separator:af12857237879012707070a5deb7a529f"><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:ac93b512b9cd0eb0fe68e9a40d3d29d63"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#ac93b512b9cd0eb0fe68e9a40d3d29d63">INVALID_ROW_INDEX</a> = -1</td></tr>
<tr class="separator:ac93b512b9cd0eb0fe68e9a40d3d29d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa56ff8061d406e2414d5031e5a464b73"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#aa56ff8061d406e2414d5031e5a464b73">AT_CAPACITY_MEM_USAGE</a> = 8 * 1024 * 1024</td></tr>
<tr class="separator:aa56ff8061d406e2414d5031e5a464b73"><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:a489e04dce7c6b9f47543e11b1aedfe52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a489e04dce7c6b9f47543e11b1aedfe52">mem_tracker_</a></td></tr>
<tr class="separator:a489e04dce7c6b9f47543e11b1aedfe52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3e3801fac98885c9c6a8c9e45ad30d9"><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_1RowBatch.html#ab3e3801fac98885c9c6a8c9e45ad30d9">has_in_flight_row_</a></td></tr>
<tr class="memdesc:ab3e3801fac98885c9c6a8c9e45ad30d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">All members below need to be handled in <a class="el" href="classimpala_1_1RowBatch.html#a2f777637e6f27003960633011c7d1605">RowBatch::AcquireState()</a> <a href="#ab3e3801fac98885c9c6a8c9e45ad30d9">More...</a><br/></td></tr>
<tr class="separator:ab3e3801fac98885c9c6a8c9e45ad30d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47dd4b36f95c28e10adbda8d249babb1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a47dd4b36f95c28e10adbda8d249babb1">num_rows_</a></td></tr>
<tr class="separator:a47dd4b36f95c28e10adbda8d249babb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adecf4adfaa8817a5a762554831b184b0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#adecf4adfaa8817a5a762554831b184b0">capacity_</a></td></tr>
<tr class="separator:adecf4adfaa8817a5a762554831b184b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ce83c6a849963c05d27dbc76e68520a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a0ce83c6a849963c05d27dbc76e68520a">num_tuples_per_row_</a></td></tr>
<tr class="separator:a0ce83c6a849963c05d27dbc76e68520a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acadf4399bff08e054ab81d3f24990d11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#acadf4399bff08e054ab81d3f24990d11">row_desc_</a></td></tr>
<tr class="separator:acadf4399bff08e054ab81d3f24990d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00462d96ac7b595312fc6bd3916f5bd8"><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_1RowBatch.html#a00462d96ac7b595312fc6bd3916f5bd8">tuple_ptrs_</a></td></tr>
<tr class="separator:a00462d96ac7b595312fc6bd3916f5bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68a13b04ab3dd529abaef833f99bd6cb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a68a13b04ab3dd529abaef833f99bd6cb">tuple_ptrs_size_</a></td></tr>
<tr class="separator:a68a13b04ab3dd529abaef833f99bd6cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5043c148c238bb62d9e1cb7680db7f01"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a5043c148c238bb62d9e1cb7680db7f01">auxiliary_mem_usage_</a></td></tr>
<tr class="separator:a5043c148c238bb62d9e1cb7680db7f01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1a96984d6d3124cce3d7d25486500a8"><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_1RowBatch.html#af1a96984d6d3124cce3d7d25486500a8">need_to_return_</a></td></tr>
<tr class="separator:af1a96984d6d3124cce3d7d25486500a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5dbdbb04a9bba3c0c6d375e0013513b"><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_1RowBatch.html#ae5dbdbb04a9bba3c0c6d375e0013513b">tuple_data_pool_</a></td></tr>
<tr class="memdesc:ae5dbdbb04a9bba3c0c6d375e0013513b"><td class="mdescLeft">&#160;</td><td class="mdescRight">holding (some of the) data referenced by rows <a href="#ae5dbdbb04a9bba3c0c6d375e0013513b">More...</a><br/></td></tr>
<tr class="separator:ae5dbdbb04a9bba3c0c6d375e0013513b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8981be17945dfb4c46eb7e9021807718"><td class="memItemLeft" align="right" valign="top">std::vector<br class="typebreak"/>
&lt; <a class="el" href="classimpala_1_1DiskIoMgr_1_1BufferDescriptor.html">DiskIoMgr::BufferDescriptor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#a8981be17945dfb4c46eb7e9021807718">io_buffers_</a></td></tr>
<tr class="separator:a8981be17945dfb4c46eb7e9021807718"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1353020bd518877fe6dbab694ee63b2"><td class="memItemLeft" align="right" valign="top">std::vector<br class="typebreak"/>
&lt; <a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#ae1353020bd518877fe6dbab694ee63b2">tuple_streams_</a></td></tr>
<tr class="memdesc:ae1353020bd518877fe6dbab694ee63b2"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> streams currently owned by this row batch. <a href="#ae1353020bd518877fe6dbab694ee63b2">More...</a><br/></td></tr>
<tr class="separator:ae1353020bd518877fe6dbab694ee63b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad98a31acb80884902c234dc19f38ee3a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1RowBatch.html#ad98a31acb80884902c234dc19f38ee3a">compression_scratch_</a></td></tr>
<tr class="separator:ad98a31acb80884902c234dc19f38ee3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> encapsulates a batch of rows, each composed of a number of tuples. The maximum number of rows is fixed at the time of construction. The row batch reference a few different sources of memory.</p>
<ol type="1">
<li><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> ptrs - this is always owned and managed by the row batch.</li>
<li><a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> memory - this is allocated (or transferred to) the row batches tuple pool.</li>
<li>Auxiliary tuple memory (e.g. string data) - this can either be stored externally (don't copy strings) or from the tuple pool (strings are copied). If external, the data is in an io buffer that may not be attached to this row batch. The creator of that row batch has to make sure that the io buffer is not recycled until all batches that reference the memory have been consumed. In order to minimize memory allocations, RowBatches and TRowBatches that have been serialized and sent over the wire should be reused (this prevents compression_scratch_ from being needlessly reallocated). Row batches and memory usage: We attempt to stream row batches through the plan tree without copying the data. This means that row batches are often not-compact and reference memory outside of the row batch. This results in most row batches having a very small memory footprint and in some row batches having a very large one (it contains all the memory that other row batches are referencing). An example is IoBuffers which are only attached to one row batch. Only when the row batch reaches a blocking operator or the root of the fragment is the row batch memory freed. This means that in some cases (e.g. very selective queries), we still need to pass the row batch through the exec nodes (even if they have no rows) to trigger memory deletion. <a class="el" href="classimpala_1_1RowBatch.html#a040ced48537a518bd45a89e64f2e8281">AtCapacity()</a> encapsulates the check that we are not accumulating excessive memory. A row batch is considered at capacity if all the rows are full or it has accumulated auxiliary memory up to a soft cap. (See at_capacity_mem_usage_ comment). </li>
</ol>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00066">66</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a741f4d17857e60858cd23de4f7461460"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">impala::RowBatch::RowBatch </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> &amp;&#160;</td>
<td class="paramname"><em>row_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> *&#160;</td>
<td class="paramname"><em>tracker</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> for a maximum of 'capacity' rows of tuples specified by 'row_desc'. tracker cannot be NULL. </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00034">34</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00234">capacity_</a>, <a class="el" href="row-batch_8h_source.html#l00228">mem_tracker_</a>, <a class="el" href="row-batch_8h_source.html#l00236">num_tuples_per_row_</a>, <a class="el" href="row-batch_8h_source.html#l00253">tuple_data_pool_</a>, <a class="el" href="row-batch_8h_source.html#l00241">tuple_ptrs_</a>, and <a class="el" href="row-batch_8h_source.html#l00242">tuple_ptrs_size_</a>.</p>
</div>
</div>
<a class="anchor" id="aa5b6ef67054cc6b7ad61bff2465286f4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">impala::RowBatch::RowBatch </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> &amp;&#160;</td>
<td class="paramname"><em>row_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TRowBatch &amp;&#160;</td>
<td class="paramname"><em>input_batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> *&#160;</td>
<td class="paramname"><em>tracker</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Populate a row batch from input_batch by copying input_batch's tuple_data into the row batch's mempool and converting all offsets in the data back into pointers. TODO: figure out how to transfer the data from input_batch to this <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> (so that we don't need to make yet another copy) </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00057">57</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="classimpala_1_1Codec.html#a0d8e74ac086a91c1cc7dbd7fe166f307">impala::Codec::CreateDecompressor()</a>, <a class="el" href="status_8cc_source.html#l00184">impala::Status::GetDetail()</a>, <a class="el" href="row-batch_8h_source.html#l00140">GetRow()</a>, <a class="el" href="tuple_8h_source.html#l00128">impala::Tuple::GetStringSlot()</a>, <a class="el" href="tuple-row_8h_source.html#l00030">impala::TupleRow::GetTuple()</a>, <a class="el" href="row-batch_8h_source.html#l00228">mem_tracker_</a>, <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>, <a class="el" href="partitioning-throughput-test_8cc_source.html#l00037">offset</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="row-batch_8h_source.html#l00237">row_desc_</a>, <a class="el" href="row-batch_8h_source.html#l00253">tuple_data_pool_</a>, <a class="el" href="descriptors_8h_source.html#l00412">impala::RowDescriptor::tuple_descriptors()</a>, <a class="el" href="row-batch_8h_source.html#l00241">tuple_ptrs_</a>, and <a class="el" href="row-batch_8h_source.html#l00242">tuple_ptrs_size_</a>.</p>
</div>
</div>
<a class="anchor" id="ad2d33305d7a6c7effe46910fc02bcf99"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">impala::RowBatch::~RowBatch </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Releases all resources accumulated at this row batch. This includes</p>
<ul>
<li>tuple_ptrs</li>
<li>tuple mem pool data</li>
<li>buffer handles from the io mgr </li>
</ul>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00137">137</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00258">io_buffers_</a>, <a class="el" href="row-batch_8h_source.html#l00253">tuple_data_pool_</a>, and <a class="el" href="row-batch_8h_source.html#l00261">tuple_streams_</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a2f777637e6f27003960633011c7d1605"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::AcquireState </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *&#160;</td>
<td class="paramname"><em>src</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acquires state from the 'src' row batch into this row batch. This includes all IO buffers and tuple data. This row batch must be empty and have the same row descriptor as the src batch. This is used for scan nodes which produce RowBatches asynchronously. Typically, an <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> is handed a row batch to populate (pull model) but ScanNodes have multiple threads which push row batches. TODO: this is wasteful and makes a copy that's unnecessary. Think about cleaning this up. TOOD: rename this or unify with <a class="el" href="classimpala_1_1RowBatch.html#a2890c318601bac6712e469335940a1e2">TransferResourceOwnership()</a> </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00271">271</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00246">auxiliary_mem_usage_</a>, <a class="el" href="disk-io-mgr_8h_source.html#l00200">impala::DiskIoMgr::BufferDescriptor::buffer_len()</a>, <a class="el" href="row-batch_8h_source.html#l00234">capacity_</a>, <a class="el" href="descriptors_8cc_source.html#l00361">impala::RowDescriptor::Equals()</a>, <a class="el" href="row-batch_8h_source.html#l00232">has_in_flight_row_</a>, <a class="el" href="row-batch_8h_source.html#l00258">io_buffers_</a>, <a class="el" href="row-batch_8h_source.html#l00228">mem_tracker_</a>, <a class="el" href="row-batch_8h_source.html#l00250">need_to_return_</a>, <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>, <a class="el" href="row-batch_8h_source.html#l00236">num_tuples_per_row_</a>, <a class="el" href="row-batch_8h_source.html#l00237">row_desc_</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00187">impala::DiskIoMgr::BufferDescriptor::SetMemTracker()</a>, <a class="el" href="row-batch_8h_source.html#l00253">tuple_data_pool_</a>, <a class="el" href="row-batch_8h_source.html#l00241">tuple_ptrs_</a>, <a class="el" href="row-batch_8h_source.html#l00242">tuple_ptrs_size_</a>, and <a class="el" href="row-batch_8h_source.html#l00261">tuple_streams_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>.</p>
</div>
</div>
<a class="anchor" id="a494923883448c2b78786d391465107ce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::AddIoBuffer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1DiskIoMgr_1_1BufferDescriptor.html">DiskIoMgr::BufferDescriptor</a> *&#160;</td>
<td class="paramname"><em>buffer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add io buffer to this row batch. </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00211">211</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00246">auxiliary_mem_usage_</a>, <a class="el" href="disk-io-mgr_8h_source.html#l00200">impala::DiskIoMgr::BufferDescriptor::buffer_len()</a>, <a class="el" href="row-batch_8h_source.html#l00258">io_buffers_</a>, <a class="el" href="row-batch_8h_source.html#l00228">mem_tracker_</a>, and <a class="el" href="disk-io-mgr_8cc_source.html#l00187">impala::DiskIoMgr::BufferDescriptor::SetMemTracker()</a>.</p>
<p>Referenced by <a class="el" href="scanner-context_8cc_source.html#l00076">impala::ScannerContext::Stream::ReleaseCompletedResources()</a>.</p>
</div>
</div>
<a class="anchor" id="a34b82362d8ad1e89c433e04999a6a0cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::AddRow </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00100">100</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00094">AddRows()</a>.</p>
<p>Referenced by <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00101">impala::SimpleTupleStreamTest::CreateIntBatch()</a>, <a class="el" href="row-batch-list-test_8cc_source.html#l00054">impala::RowBatchListTest::CreateRowBatch()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00292">impala::DataStreamTest::CreateRowBatch()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00136">impala::SimpleTupleStreamTest::CreateStringBatch()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00115">impala::HdfsScanner::GetMemory()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="data-source-scan-node_8cc_source.html#l00292">impala::DataSourceScanNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="sorted-run-merger_8cc_source.html#l00146">impala::SortedRunMerger::GetNext()</a>, <a class="el" href="sorter_8cc_source.html#l00609">impala::Sorter::Run::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">impala::PartitionedHashJoinNode::OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="a7acd4c5911cd2759f9dd4c207721d8ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::AddRows </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add n rows of tuple pointers after the last committed row and return its index. The rows are uninitialized and each tuple of the row must be set. Returns INVALID_ROW_INDEX if the row batch cannot fit n rows. Two consecutive <a class="el" href="classimpala_1_1RowBatch.html#a34b82362d8ad1e89c433e04999a6a0cb">AddRow()</a> calls without a <a class="el" href="classimpala_1_1RowBatch.html#aef978a61ab3f47c2b9e53e304eead853">CommitLastRow()</a> between them have the same effect as a single call. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00094">94</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00234">capacity_</a>, <a class="el" href="row-batch_8h_source.html#l00232">has_in_flight_row_</a>, <a class="el" href="row-batch_8h_source.html#l00087">INVALID_ROW_INDEX</a>, and <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8h_source.html#l00100">AddRow()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00457">impala::BufferedTupleStream::GetNextInternal()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="a923a9f1e331245092d6d5ae4141cbbb7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::AddTupleStream </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> *&#160;</td>
<td class="paramname"><em>stream</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add tuple stream to this row batch. The row batch must call Close() on the stream when freeing resources. </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00218">218</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00246">auxiliary_mem_usage_</a>, <a class="el" href="buffered-tuple-stream_8h_source.html#l00237">impala::BufferedTupleStream::byte_size()</a>, and <a class="el" href="row-batch_8h_source.html#l00261">tuple_streams_</a>.</p>
<p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00248">impala::PartitionedHashJoinNode::Partition::Close()</a>.</p>
</div>
</div>
<a class="anchor" id="a040ced48537a518bd45a89e64f2e8281"></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::RowBatch::AtCapacity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the row batch has filled all the rows or has accumulated enough memory. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00120">120</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00222">AT_CAPACITY_MEM_USAGE</a>, <a class="el" href="row-batch_8h_source.html#l00246">auxiliary_mem_usage_</a>, <a class="el" href="row-batch_8h_source.html#l00234">capacity_</a>, <a class="el" href="row-batch_8h_source.html#l00250">need_to_return_</a>, <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>, and <a class="el" href="row-batch_8h_source.html#l00150">num_tuple_streams()</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8h_source.html#l00129">AtCapacity()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="data-source-scan-node_8cc_source.html#l00292">impala::DataSourceScanNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="sorted-run-merger_8cc_source.html#l00146">impala::SortedRunMerger::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="sorter_8cc_source.html#l00609">impala::Sorter::Run::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">impala::PartitionedHashJoinNode::NextProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">impala::PartitionedHashJoinNode::NextSpilledProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">impala::PartitionedHashJoinNode::OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="af455172ebe4a6e207f063f9d61b7e3ea"></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::RowBatch::AtCapacity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1MemPool.html">MemPool</a> *&#160;</td>
<td class="paramname"><em>tuple_pool</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the row batch has filled all the rows or has accumulated enough memory. tuple_pool is an intermediate memory pool containing tuple data that will eventually be attached to this row batch. We need to make sure the tuple pool does not accumulate excessive memory. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00129">129</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00222">AT_CAPACITY_MEM_USAGE</a>, <a class="el" href="row-batch_8h_source.html#l00120">AtCapacity()</a>, <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>, and <a class="el" href="mem-pool_8h_source.html#l00148">impala::MemPool::total_allocated_bytes()</a>.</p>
</div>
</div>
<a class="anchor" id="ab171442ddcb3a1c3aab36991dbb511bb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::capacity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00216">216</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00234">capacity_</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>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00457">impala::BufferedTupleStream::GetNextInternal()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="afc32ad19ee3a0cd456cd3da9be8f48da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::ClearRow </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00187">187</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00236">num_tuples_per_row_</a>.</p>
<p>Referenced by <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>.</p>
</div>
</div>
<a class="anchor" id="aef978a61ab3f47c2b9e53e304eead853"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::CommitLastRow </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00109">109</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00102">CommitRows()</a>.</p>
<p>Referenced by <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00101">impala::SimpleTupleStreamTest::CreateIntBatch()</a>, <a class="el" href="row-batch-list-test_8cc_source.html#l00054">impala::RowBatchListTest::CreateRowBatch()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00292">impala::DataStreamTest::CreateRowBatch()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00136">impala::SimpleTupleStreamTest::CreateStringBatch()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="data-source-scan-node_8cc_source.html#l00292">impala::DataSourceScanNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="sorted-run-merger_8cc_source.html#l00146">impala::SortedRunMerger::GetNext()</a>, <a class="el" href="sorter_8cc_source.html#l00609">impala::Sorter::Run::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">impala::PartitionedHashJoinNode::OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="a5c4883960d142b0ec5ebdd182da1c79b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::CommitRows </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00102">102</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00234">capacity_</a>, <a class="el" href="row-batch_8h_source.html#l00232">has_in_flight_row_</a>, and <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8h_source.html#l00109">CommitLastRow()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00457">impala::BufferedTupleStream::GetNextInternal()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="af286af57396a4cb409a19ace07f87aff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::CopyRow </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>src</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>dest</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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00173">173</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00236">num_tuples_per_row_</a>.</p>
<p>Referenced by <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">impala::PartitionedHashJoinNode::OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a7af92976c8501cce4620d6e0bb6ed4f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::CopyRows </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dest</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_rows</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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy 'num_rows' rows from 'src' to 'dest' within the batch. Useful for exec nodes that skip an offset and copied more than necessary. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00179">179</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00234">capacity_</a>, <a class="el" href="row-batch_8h_source.html#l00236">num_tuples_per_row_</a>, and <a class="el" href="row-batch_8h_source.html#l00241">tuple_ptrs_</a>.</p>
<p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, and <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>.</p>
</div>
</div>
<a class="anchor" id="af12857237879012707070a5deb7a529f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::GetBatchSize </td>
<td>(</td>
<td class="paramtype">const TRowBatch &amp;&#160;</td>
<td class="paramname"><em>batch</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Utility function: returns total size of batch. </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00264">264</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>Referenced by <a class="el" href="data-stream-recvr_8cc_source.html#l00144">impala::DataStreamRecvr::SenderQueue::AddBatch()</a>, <a class="el" href="row-batch_8cc_source.html#l00147">Serialize()</a>, and <a class="el" href="data-stream-sender_8cc_source.html#l00459">impala::DataStreamSender::SerializeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a9320ed986b0717ef26d73d871f3b3a42"></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::RowBatch::GetRow </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>row_idx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00140">140</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00232">has_in_flight_row_</a>, <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>, <a class="el" href="row-batch_8h_source.html#l00236">num_tuples_per_row_</a>, and <a class="el" href="row-batch_8h_source.html#l00241">tuple_ptrs_</a>.</p>
<p>Referenced by <a class="el" href="sorter_8cc_source.html#l00372">impala::Sorter::Run::AddBatch()</a>, <a class="el" href="hbase-table-writer_8cc_source.html#l00112">impala::HBaseTableWriter::AppendRowBatch()</a>, <a class="el" href="hdfs-sequence-table-writer_8cc_source.html#l00090">impala::HdfsSequenceTableWriter::AppendRowBatch()</a>, <a class="el" href="hdfs-text-table-writer_8cc_source.html#l00096">impala::HdfsTextTableWriter::AppendRowBatch()</a>, <a class="el" href="hdfs-parquet-table-writer_8cc_source.html#l00862">impala::HdfsParquetTableWriter::AppendRowBatch()</a>, <a class="el" href="hdfs-avro-table-writer_8cc_source.html#l00168">impala::HdfsAvroTableWriter::AppendRowBatch()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00101">impala::SimpleTupleStreamTest::CreateIntBatch()</a>, <a class="el" href="row-batch-list-test_8cc_source.html#l00054">impala::RowBatchListTest::CreateRowBatch()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00292">impala::DataStreamTest::CreateRowBatch()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00136">impala::SimpleTupleStreamTest::CreateStringBatch()</a>, <a class="el" href="sorted-run-merger_8cc_source.html#l00075">impala::SortedRunMerger::BatchedRowSupplier::current_row()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00115">impala::HdfsScanner::GetMemory()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="data-source-scan-node_8cc_source.html#l00292">impala::DataSourceScanNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="sorted-run-merger_8cc_source.html#l00146">impala::SortedRunMerger::GetNext()</a>, <a class="el" href="sorter_8cc_source.html#l00609">impala::Sorter::Run::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00306">impala::DataStreamTest::GetNextBatch()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00457">impala::BufferedTupleStream::GetNextInternal()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00331">impala::PlanFragmentExecutor::OpenInternal()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">impala::PartitionedHashJoinNode::OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="debug-util_8cc_source.html#l00203">impala::PrintBatch()</a>, <a class="el" href="partitioned-aggregation-node-ir_8cc_source.html#l00033">impala::PartitionedAggregationNode::ProcessBatch()</a>, <a class="el" href="partitioned-aggregation-node-ir_8cc_source.html#l00024">impala::PartitionedAggregationNode::ProcessBatchNoGrouping()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00129">impala::HashJoinNode::ProcessBuildBatch()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">impala::PartitionedHashJoinNode::ProcessBuildBatch()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>, <a class="el" href="aggregation-node-ir_8cc_source.html#l00028">impala::AggregationNode::ProcessRowBatchNoGrouping()</a>, <a class="el" href="aggregation-node-ir_8cc_source.html#l00034">impala::AggregationNode::ProcessRowBatchWithGrouping()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00346">impala::DataStreamTest::ReadStream()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00362">impala::DataStreamTest::ReadStreamMerging()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00215">impala::SimpleTupleStreamTest::ReadValues()</a>, <a class="el" href="row-batch_8cc_source.html#l00057">RowBatch()</a>, <a class="el" href="data-stream-sender_8cc_source.html#l00401">impala::DataStreamSender::Send()</a>, <a class="el" href="hdfs-table-sink_8cc_source.html#l00495">impala::HdfsTableSink::Send()</a>, <a class="el" href="row-batch_8cc_source.html#l00147">Serialize()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00526">impala::TEST_F()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00347">impala::SimpleTupleStreamTest::TestIntValuesInterleaved()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00299">impala::SimpleTupleStreamTest::TestValues()</a>, <a class="el" href="row-batch_8cc_source.html#l00303">TotalByteSize()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="a50bef2f2a7162d478aafef2dfd508e84"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::MarkNeedToReturn </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called to indicate this row batch must be returned up the operator tree. This is used to control memory management for streaming rows. TODO: consider using this mechanism instead of AddIoBuffer/AddTupleStream. This is the property we need rather than meticulously passing resources up so the operator tree. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00167">167</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00250">need_to_return_</a>.</p>
<p>Referenced by <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, and <a class="el" href="buffered-tuple-stream_8cc_source.html#l00457">impala::BufferedTupleStream::GetNextInternal()</a>.</p>
</div>
</div>
<a class="anchor" id="a602415d7e138ddbd21dbccb0c7689543"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::MaxTupleBufferSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the maximum size needed to store tuple data for this row batch. </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00325">325</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00222">AT_CAPACITY_MEM_USAGE</a>, <a class="el" href="row-batch_8h_source.html#l00234">capacity_</a>, <a class="el" href="descriptors_8cc_source.html#l00320">impala::RowDescriptor::GetRowSize()</a>, <a class="el" href="row-batch_8h_source.html#l00215">num_rows()</a>, and <a class="el" href="row-batch_8h_source.html#l00237">row_desc_</a>.</p>
<p>Referenced by <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, and <a class="el" href="data-source-scan-node_8cc_source.html#l00292">impala::DataSourceScanNode::GetNext()</a>.</p>
</div>
</div>
<a class="anchor" id="ab2806ba7b3c888423d1f527ef7ff7421"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::num_io_buffers </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00149">149</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00258">io_buffers_</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00087">impala::ExecNode::RowBatchQueue::Cleanup()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>.</p>
</div>
</div>
<a class="anchor" id="ac695df3b85ee416b3d99844813ae813d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::num_rows </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00215">215</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>.</p>
<p>Referenced by <a class="el" href="sorter_8cc_source.html#l00372">impala::Sorter::Run::AddBatch()</a>, <a class="el" href="row-batch-list_8h_source.html#l00081">impala::RowBatchList::AddRowBatch()</a>, <a class="el" href="hbase-table-writer_8cc_source.html#l00112">impala::HBaseTableWriter::AppendRowBatch()</a>, <a class="el" href="hdfs-sequence-table-writer_8cc_source.html#l00090">impala::HdfsSequenceTableWriter::AppendRowBatch()</a>, <a class="el" href="hdfs-text-table-writer_8cc_source.html#l00096">impala::HdfsTextTableWriter::AppendRowBatch()</a>, <a class="el" href="hdfs-parquet-table-writer_8cc_source.html#l00862">impala::HdfsParquetTableWriter::AppendRowBatch()</a>, <a class="el" href="hdfs-avro-table-writer_8cc_source.html#l00168">impala::HdfsAvroTableWriter::AppendRowBatch()</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="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00455">impala::PlanFragmentExecutor::GetNext()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00457">impala::BufferedTupleStream::GetNextInternal()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="row-batch_8cc_source.html#l00325">MaxTupleBufferSize()</a>, <a class="el" href="sorted-run-merger_8cc_source.html#l00056">impala::SortedRunMerger::BatchedRowSupplier::Next()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00331">impala::PlanFragmentExecutor::OpenInternal()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="debug-util_8cc_source.html#l00203">impala::PrintBatch()</a>, <a class="el" href="partitioned-aggregation-node-ir_8cc_source.html#l00033">impala::PartitionedAggregationNode::ProcessBatch()</a>, <a class="el" href="partitioned-aggregation-node-ir_8cc_source.html#l00024">impala::PartitionedAggregationNode::ProcessBatchNoGrouping()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00129">impala::HashJoinNode::ProcessBuildBatch()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00254">impala::PartitionedHashJoinNode::ProcessBuildBatch()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>, <a class="el" href="aggregation-node-ir_8cc_source.html#l00028">impala::AggregationNode::ProcessRowBatchNoGrouping()</a>, <a class="el" href="aggregation-node-ir_8cc_source.html#l00034">impala::AggregationNode::ProcessRowBatchWithGrouping()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00346">impala::DataStreamTest::ReadStream()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00362">impala::DataStreamTest::ReadStreamMerging()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00215">impala::SimpleTupleStreamTest::ReadValues()</a>, <a class="el" href="hbase-table-sink_8cc_source.html#l00084">impala::HBaseTableSink::Send()</a>, <a class="el" href="data-stream-sender_8cc_source.html#l00401">impala::DataStreamSender::Send()</a>, <a class="el" href="hdfs-table-sink_8cc_source.html#l00495">impala::HdfsTableSink::Send()</a>, <a class="el" href="data-stream-sender_8cc_source.html#l00459">impala::DataStreamSender::SerializeBatch()</a>, <a class="el" href="row-batch_8h_source.html#l00113">set_num_rows()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00526">impala::TEST_F()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00347">impala::SimpleTupleStreamTest::TestIntValuesInterleaved()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00299">impala::SimpleTupleStreamTest::TestValues()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="a1ee1396e264b2945400d321dba864d30"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::num_tuple_streams </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00150">150</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00261">tuple_streams_</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8h_source.html#l00120">AtCapacity()</a>.</p>
</div>
</div>
<a class="anchor" id="ac351eaf211eb53882564b604db07b824"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::Reset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets the row batch, returning all resources it has accumulated. </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00224">224</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00246">auxiliary_mem_usage_</a>, <a class="el" href="row-batch_8h_source.html#l00232">has_in_flight_row_</a>, <a class="el" href="row-batch_8h_source.html#l00258">io_buffers_</a>, <a class="el" href="row-batch_8h_source.html#l00228">mem_tracker_</a>, <a class="el" href="row-batch_8h_source.html#l00250">need_to_return_</a>, <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>, <a class="el" href="row-batch_8h_source.html#l00253">tuple_data_pool_</a>, <a class="el" href="row-batch_8h_source.html#l00241">tuple_ptrs_</a>, <a class="el" href="row-batch_8h_source.html#l00242">tuple_ptrs_size_</a>, and <a class="el" href="row-batch_8h_source.html#l00261">tuple_streams_</a>.</p>
<p>Referenced by <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00362">impala::DataStreamTest::ReadStreamMerging()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00215">impala::SimpleTupleStreamTest::ReadValues()</a>, <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00347">impala::SimpleTupleStreamTest::TestIntValuesInterleaved()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00299">impala::SimpleTupleStreamTest::TestValues()</a>, and <a class="el" href="row-batch_8cc_source.html#l00243">TransferResourceOwnership()</a>.</p>
</div>
</div>
<a class="anchor" id="a12781e4e8e07a85541f4b37273a33e64"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::row_byte_size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00147">147</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00236">num_tuples_per_row_</a>.</p>
<p>Referenced by <a class="el" href="tuple-row_8h_source.html#l00069">impala::TupleRow::next_row()</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="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="a1879b7b9b72142d7a56d4846ad307bd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a>&amp; impala::RowBatch::row_desc </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00218">218</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00237">row_desc_</a>.</p>
<p>Referenced by <a class="el" href="sorter_8cc_source.html#l00372">impala::Sorter::Run::AddBatch()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00457">impala::BufferedTupleStream::GetNextInternal()</a>, and <a class="el" href="debug-util_8cc_source.html#l00203">impala::PrintBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a5a7ff7bf9d6bd28990eedab985477390"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::Serialize </td>
<td>(</td>
<td class="paramtype">TRowBatch *&#160;</td>
<td class="paramname"><em>output_batch</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a serialized version of this row batch in output_batch, attaching all of the data it references to output_batch.tuple_data. output_batch.tuple_data will be snappy-compressed unless the compressed data is larger than the uncompressed data. Use output_batch.is_compressed to determine whether tuple_data is compressed. If an in-flight row is present in this row batch, it is ignored. This function does not <a class="el" href="classimpala_1_1RowBatch.html#ac351eaf211eb53882564b604db07b824" title="Resets the row batch, returning all resources it has accumulated. ">Reset()</a>. Returns the uncompressed serialized size (this will be the true size of output_batch if tuple_data is actually uncompressed). </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00147">147</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00270">compression_scratch_</a>, <a class="el" href="classimpala_1_1Codec.html#a18854cd2e08266b09600a6e559c7c6e1">impala::Codec::CreateCompressor()</a>, <a class="el" href="tuple_8cc_source.html#l00034">impala::Tuple::DeepCopy()</a>, <a class="el" href="row-batch_8cc_source.html#l00264">GetBatchSize()</a>, <a class="el" href="status_8cc_source.html#l00184">impala::Status::GetDetail()</a>, <a class="el" href="row-batch_8h_source.html#l00140">GetRow()</a>, <a class="el" href="tuple-row_8h_source.html#l00030">impala::TupleRow::GetTuple()</a>, <a class="el" href="compiler-util_8h_source.html#l00032">LIKELY</a>, <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>, <a class="el" href="row-batch_8h_source.html#l00236">num_tuples_per_row_</a>, <a class="el" href="partitioning-throughput-test_8cc_source.html#l00037">offset</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="row-batch_8h_source.html#l00237">row_desc_</a>, <a class="el" href="row-batch_8cc_source.html#l00303">TotalByteSize()</a>, <a class="el" href="descriptors_8cc_source.html#l00345">impala::RowDescriptor::ToThrift()</a>, <a class="el" href="descriptors_8h_source.html#l00412">impala::RowDescriptor::tuple_descriptors()</a>, and <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>.</p>
<p>Referenced by <a class="el" href="data-stream-sender_8cc_source.html#l00459">impala::DataStreamSender::SerializeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a56893f5c0ac2f5831c85e8c87e838089"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::set_num_rows </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set function can be used to reduce the number of rows in the batch. This is only used in the limit case where more rows were added than necessary. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00113">113</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00215">num_rows()</a>, and <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>.</p>
<p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, and <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>.</p>
</div>
</div>
<a class="anchor" id="aa748c2de46658330f617535567cae744"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::TotalByteSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The total size of all data represented in this row batch (tuples and referenced string data). This is the size of the row batch after removing all gaps in the auxiliary (i.e. the smallest footprint for the row batch). </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00303">303</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00140">GetRow()</a>, <a class="el" href="tuple_8h_source.html#l00128">impala::Tuple::GetStringSlot()</a>, <a class="el" href="tuple-row_8h_source.html#l00030">impala::TupleRow::GetTuple()</a>, <a class="el" href="tuple_8h_source.html#l00112">impala::Tuple::IsNull()</a>, <a class="el" href="string-value_8h_source.html#l00038">impala::StringValue::len</a>, <a class="el" href="row-batch_8h_source.html#l00233">num_rows_</a>, <a class="el" href="row-batch_8h_source.html#l00237">row_desc_</a>, and <a class="el" href="descriptors_8h_source.html#l00412">impala::RowDescriptor::tuple_descriptors()</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00147">Serialize()</a>.</p>
</div>
</div>
<a class="anchor" id="a2890c318601bac6712e469335940a1e2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void impala::RowBatch::TransferResourceOwnership </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *&#160;</td>
<td class="paramname"><em>dest</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Transfer ownership of resources to dest. This includes tuple data in mem pool and io buffers. </p>
<p>Definition at line <a class="el" href="row-batch_8cc_source.html#l00243">243</a> of file <a class="el" href="row-batch_8cc_source.html">row-batch.cc</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00246">auxiliary_mem_usage_</a>, <a class="el" href="disk-io-mgr_8h_source.html#l00200">impala::DiskIoMgr::BufferDescriptor::buffer_len()</a>, <a class="el" href="row-batch_8h_source.html#l00258">io_buffers_</a>, <a class="el" href="row-batch_8h_source.html#l00228">mem_tracker_</a>, <a class="el" href="row-batch_8h_source.html#l00250">need_to_return_</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, <a class="el" href="disk-io-mgr_8cc_source.html#l00187">impala::DiskIoMgr::BufferDescriptor::SetMemTracker()</a>, <a class="el" href="row-batch_8h_source.html#l00253">tuple_data_pool_</a>, <a class="el" href="row-batch_8h_source.html#l00241">tuple_ptrs_</a>, and <a class="el" href="row-batch_8h_source.html#l00261">tuple_streams_</a>.</p>
<p>Referenced by <a class="el" href="sorted-run-merger_8cc_source.html#l00056">impala::SortedRunMerger::BatchedRowSupplier::Next()</a>, and <a class="el" href="data-stream-recvr_8cc_source.html#l00269">impala::DataStreamRecvr::TransferAllResources()</a>.</p>
</div>
</div>
<a class="anchor" id="a82611d227a12dd5c2e1ca1ba77d86736"></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_1MemPool.html">MemPool</a>* impala::RowBatch::tuple_data_pool </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00148">148</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>References <a class="el" href="row-batch_8h_source.html#l00253">tuple_data_pool_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8h_source.html#l00256">impala::HdfsScanner::AttachPool()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00101">impala::SimpleTupleStreamTest::CreateIntBatch()</a>, <a class="el" href="row-batch-list-test_8cc_source.html#l00054">impala::RowBatchListTest::CreateRowBatch()</a>, <a class="el" href="data-stream-test_8cc_source.html#l00292">impala::DataStreamTest::CreateRowBatch()</a>, <a class="el" href="buffered-tuple-stream-test_8cc_source.html#l00136">impala::SimpleTupleStreamTest::CreateStringBatch()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00115">impala::HdfsScanner::GetMemory()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="data-source-scan-node_8cc_source.html#l00292">impala::DataSourceScanNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="sorted-run-merger_8cc_source.html#l00146">impala::SortedRunMerger::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="scanner-context_8cc_source.html#l00076">impala::ScannerContext::Stream::ReleaseCompletedResources()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="aa56ff8061d406e2414d5031e5a464b73"></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::RowBatch::AT_CAPACITY_MEM_USAGE = 8 * 1024 * 1024</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Max memory that this row batch can accumulate in tuple_data_pool_ before it is considered at capacity. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00222">222</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8h_source.html#l00120">AtCapacity()</a>, <a class="el" href="sorter_8cc_source.html#l01038">impala::Sorter::EstimateMergeMem()</a>, and <a class="el" href="row-batch_8cc_source.html#l00325">MaxTupleBufferSize()</a>.</p>
</div>
</div>
<a class="anchor" id="a5043c148c238bb62d9e1cb7680db7f01"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t impala::RowBatch::auxiliary_mem_usage_</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 all auxiliary bytes. This includes IoBuffers and memory from <a class="el" href="classimpala_1_1RowBatch.html#a2890c318601bac6712e469335940a1e2">TransferResourceOwnership()</a>. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00246">246</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8cc_source.html#l00211">AddIoBuffer()</a>, <a class="el" href="row-batch_8cc_source.html#l00218">AddTupleStream()</a>, <a class="el" href="row-batch_8h_source.html#l00120">AtCapacity()</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, and <a class="el" href="row-batch_8cc_source.html#l00243">TransferResourceOwnership()</a>.</p>
</div>
</div>
<a class="anchor" id="adecf4adfaa8817a5a762554831b184b0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::capacity_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00234">234</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8h_source.html#l00094">AddRows()</a>, <a class="el" href="row-batch_8h_source.html#l00120">AtCapacity()</a>, <a class="el" href="row-batch_8h_source.html#l00216">capacity()</a>, <a class="el" href="row-batch_8h_source.html#l00102">CommitRows()</a>, <a class="el" href="row-batch_8h_source.html#l00179">CopyRows()</a>, <a class="el" href="row-batch_8cc_source.html#l00325">MaxTupleBufferSize()</a>, and <a class="el" href="row-batch_8cc_source.html#l00034">RowBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="ad98a31acb80884902c234dc19f38ee3a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string impala::RowBatch::compression_scratch_</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>String to write compressed tuple data to in <a class="el" href="classimpala_1_1RowBatch.html#a5a7ff7bf9d6bd28990eedab985477390">Serialize()</a>. This is a string so we can swap() with the string in the TRowBatch we're serializing to (we don't compress directly into the TRowBatch in case the compressed data is longer than the uncompressed data). Swapping avoids copying data to the TRowBatch and avoids excess memory allocations: since we reuse RowBatchs and TRowBatchs, and assuming all row batches are roughly the same size, all strings will eventually be allocated to the right size. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00270">270</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00147">Serialize()</a>.</p>
</div>
</div>
<a class="anchor" id="ab3e3801fac98885c9c6a8c9e45ad30d9"></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::RowBatch::has_in_flight_row_</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>All members below need to be handled in <a class="el" href="classimpala_1_1RowBatch.html#a2f777637e6f27003960633011c7d1605">RowBatch::AcquireState()</a> </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00232">232</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8h_source.html#l00094">AddRows()</a>, <a class="el" href="row-batch_8h_source.html#l00102">CommitRows()</a>, <a class="el" href="row-batch_8h_source.html#l00140">GetRow()</a>, and <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>.</p>
</div>
</div>
<a class="anchor" id="ac93b512b9cd0eb0fe68e9a40d3d29d63"></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::RowBatch::INVALID_ROW_INDEX = -1</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00087">87</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8h_source.html#l00094">AddRows()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00157">impala::HdfsScanner::WriteEmptyTuples()</a>.</p>
</div>
</div>
<a class="anchor" id="a8981be17945dfb4c46eb7e9021807718"></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_1DiskIoMgr_1_1BufferDescriptor.html">DiskIoMgr::BufferDescriptor</a>*&gt; impala::RowBatch::io_buffers_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>IO buffers current owned by this row batch. Ownership of IO buffers transfer between row batches. Any IO buffer will be owned by at most one row batch (i.e. they are not ref counted) so most row batches don't own any. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00258">258</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8cc_source.html#l00211">AddIoBuffer()</a>, <a class="el" href="row-batch_8h_source.html#l00149">num_io_buffers()</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, <a class="el" href="row-batch_8cc_source.html#l00243">TransferResourceOwnership()</a>, and <a class="el" href="row-batch_8cc_source.html#l00137">~RowBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a489e04dce7c6b9f47543e11b1aedfe52"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>* impala::RowBatch::mem_tracker_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00228">228</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8cc_source.html#l00211">AddIoBuffer()</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, <a class="el" href="row-batch_8cc_source.html#l00034">RowBatch()</a>, and <a class="el" href="row-batch_8cc_source.html#l00243">TransferResourceOwnership()</a>.</p>
</div>
</div>
<a class="anchor" id="af1a96984d6d3124cce3d7d25486500a8"></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::RowBatch::need_to_return_</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, this batch is considered at capacity. This is explicitly set by streaming components that return rows via row batches. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00250">250</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8h_source.html#l00120">AtCapacity()</a>, <a class="el" href="row-batch_8h_source.html#l00167">MarkNeedToReturn()</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, and <a class="el" href="row-batch_8cc_source.html#l00243">TransferResourceOwnership()</a>.</p>
</div>
</div>
<a class="anchor" id="a47dd4b36f95c28e10adbda8d249babb1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::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>Definition at line <a class="el" href="row-batch_8h_source.html#l00233">233</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8h_source.html#l00094">AddRows()</a>, <a class="el" href="row-batch_8h_source.html#l00120">AtCapacity()</a>, <a class="el" href="row-batch_8h_source.html#l00102">CommitRows()</a>, <a class="el" href="row-batch_8h_source.html#l00140">GetRow()</a>, <a class="el" href="row-batch_8h_source.html#l00215">num_rows()</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, <a class="el" href="row-batch_8cc_source.html#l00057">RowBatch()</a>, <a class="el" href="row-batch_8cc_source.html#l00147">Serialize()</a>, <a class="el" href="row-batch_8h_source.html#l00113">set_num_rows()</a>, and <a class="el" href="row-batch_8cc_source.html#l00303">TotalByteSize()</a>.</p>
</div>
</div>
<a class="anchor" id="a0ce83c6a849963c05d27dbc76e68520a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::num_tuples_per_row_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00236">236</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8h_source.html#l00187">ClearRow()</a>, <a class="el" href="row-batch_8h_source.html#l00173">CopyRow()</a>, <a class="el" href="row-batch_8h_source.html#l00179">CopyRows()</a>, <a class="el" href="row-batch_8h_source.html#l00140">GetRow()</a>, <a class="el" href="row-batch_8h_source.html#l00147">row_byte_size()</a>, <a class="el" href="row-batch_8cc_source.html#l00034">RowBatch()</a>, and <a class="el" href="row-batch_8cc_source.html#l00147">Serialize()</a>.</p>
</div>
</div>
<a class="anchor" id="acadf4399bff08e054ab81d3f24990d11"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> impala::RowBatch::row_desc_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00237">237</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8cc_source.html#l00325">MaxTupleBufferSize()</a>, <a class="el" href="row-batch_8h_source.html#l00218">row_desc()</a>, <a class="el" href="row-batch_8cc_source.html#l00057">RowBatch()</a>, <a class="el" href="row-batch_8cc_source.html#l00147">Serialize()</a>, and <a class="el" href="row-batch_8cc_source.html#l00303">TotalByteSize()</a>.</p>
</div>
</div>
<a class="anchor" id="ae5dbdbb04a9bba3c0c6d375e0013513b"></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::RowBatch::tuple_data_pool_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>holding (some of the) data referenced by rows </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00253">253</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, <a class="el" href="row-batch_8cc_source.html#l00034">RowBatch()</a>, <a class="el" href="row-batch_8cc_source.html#l00243">TransferResourceOwnership()</a>, <a class="el" href="row-batch_8h_source.html#l00148">tuple_data_pool()</a>, and <a class="el" href="row-batch_8cc_source.html#l00137">~RowBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a00462d96ac7b595312fc6bd3916f5bd8"></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::RowBatch::tuple_ptrs_</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>array of pointers (w/ capacity_ * num_tuples_per_row_ elements) TODO: replace w/ tr1 array? </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00241">241</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8h_source.html#l00179">CopyRows()</a>, <a class="el" href="row-batch_8h_source.html#l00140">GetRow()</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, <a class="el" href="row-batch_8cc_source.html#l00034">RowBatch()</a>, and <a class="el" href="row-batch_8cc_source.html#l00243">TransferResourceOwnership()</a>.</p>
</div>
</div>
<a class="anchor" id="a68a13b04ab3dd529abaef833f99bd6cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::RowBatch::tuple_ptrs_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>Definition at line <a class="el" href="row-batch_8h_source.html#l00242">242</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, and <a class="el" href="row-batch_8cc_source.html#l00034">RowBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="ae1353020bd518877fe6dbab694ee63b2"></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_1BufferedTupleStream.html">BufferedTupleStream</a>*&gt; impala::RowBatch::tuple_streams_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> streams currently owned by this row batch. </p>
<p>Definition at line <a class="el" href="row-batch_8h_source.html#l00261">261</a> of file <a class="el" href="row-batch_8h_source.html">row-batch.h</a>.</p>
<p>Referenced by <a class="el" href="row-batch_8cc_source.html#l00271">AcquireState()</a>, <a class="el" href="row-batch_8cc_source.html#l00218">AddTupleStream()</a>, <a class="el" href="row-batch_8h_source.html#l00150">num_tuple_streams()</a>, <a class="el" href="row-batch_8cc_source.html#l00224">Reset()</a>, <a class="el" href="row-batch_8cc_source.html#l00243">TransferResourceOwnership()</a>, and <a class="el" href="row-batch_8cc_source.html#l00137">~RowBatch()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>be/src/runtime/<a class="el" href="row-batch_8h_source.html">row-batch.h</a></li>
<li>be/src/runtime/<a class="el" href="row-batch_8cc_source.html">row-batch.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_1RowBatch.html">RowBatch</a></li>
<li class="footer">Generated on Thu May 7 2015 16:10:49 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>