blob: 033e75f15059008d6f7e5f86960ed11dd528c55c [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::TupleDescriptor 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_1TupleDescriptor.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="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classimpala_1_1TupleDescriptor-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">impala::TupleDescriptor Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="descriptors_8h_source.html">descriptors.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for impala::TupleDescriptor:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1TupleDescriptor__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:a153205d9bf39422c853b5bd5f54a9485"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a153205d9bf39422c853b5bd5f54a9485">byte_size</a> () const </td></tr>
<tr class="separator:a153205d9bf39422c853b5bd5f54a9485"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab95be8e7256eeacc8dfe7bd422964c8a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#ab95be8e7256eeacc8dfe7bd422964c8a">num_null_bytes</a> () const </td></tr>
<tr class="separator:ab95be8e7256eeacc8dfe7bd422964c8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab604fb8cc40f88e7f35e5f6f069a76c3"><td class="memItemLeft" align="right" valign="top">const std::vector<br class="typebreak"/>
&lt; <a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#ab604fb8cc40f88e7f35e5f6f069a76c3">slots</a> () const </td></tr>
<tr class="separator:ab604fb8cc40f88e7f35e5f6f069a76c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f0ffae3775bf65b21c0b74ab825d084"><td class="memItemLeft" align="right" valign="top">const std::vector<br class="typebreak"/>
&lt; <a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a3f0ffae3775bf65b21c0b74ab825d084">string_slots</a> () const </td></tr>
<tr class="separator:a3f0ffae3775bf65b21c0b74ab825d084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84bd9aabb34808ace9191b9fcfb2dea4"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1TableDescriptor.html">TableDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a84bd9aabb34808ace9191b9fcfb2dea4">table_desc</a> () const </td></tr>
<tr class="separator:a84bd9aabb34808ace9191b9fcfb2dea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52f64d0350cfd34372d5476e7a7ee3f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceimpala.html#ae794620bedabff2a726194c228af75ce">TupleId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a52f64d0350cfd34372d5476e7a7ee3f0">id</a> () const </td></tr>
<tr class="separator:a52f64d0350cfd34372d5476e7a7ee3f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0f7e2143e0e7f8fb491d0d61e763408"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#ad0f7e2143e0e7f8fb491d0d61e763408">DebugString</a> () const </td></tr>
<tr class="separator:ad0f7e2143e0e7f8fb491d0d61e763408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace749ab75ea943faf4605b182782ef06"><td class="memItemLeft" align="right" valign="top">llvm::StructType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#ace749ab75ea943faf4605b182782ef06">GenerateLlvmStruct</a> (<a class="el" href="classimpala_1_1LlvmCodeGen.html">LlvmCodeGen</a> *codegen)</td></tr>
<tr class="separator:ace749ab75ea943faf4605b182782ef06"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a533ecb7b9ea16542782213dd3b5b6236"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a533ecb7b9ea16542782213dd3b5b6236">TupleDescriptor</a> (const TTupleDescriptor &amp;tdesc)</td></tr>
<tr class="separator:a533ecb7b9ea16542782213dd3b5b6236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ab8384554152570c734d6687f781ca5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a6ab8384554152570c734d6687f781ca5">AddSlot</a> (<a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> *slot)</td></tr>
<tr class="separator:a6ab8384554152570c734d6687f781ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a13d6b8ec76e4cde4828476216eb6f762"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceimpala.html#ae794620bedabff2a726194c228af75ce">TupleId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a13d6b8ec76e4cde4828476216eb6f762">id_</a></td></tr>
<tr class="separator:a13d6b8ec76e4cde4828476216eb6f762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5009e7107f63ba7829da836a78d5da3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TableDescriptor.html">TableDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a5009e7107f63ba7829da836a78d5da3c">table_desc_</a></td></tr>
<tr class="separator:a5009e7107f63ba7829da836a78d5da3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade8f05710e76fbecac412e84c5376035"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#ade8f05710e76fbecac412e84c5376035">byte_size_</a></td></tr>
<tr class="separator:ade8f05710e76fbecac412e84c5376035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0185c0e61c483b9bc3cd0953ca8aaff4"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a0185c0e61c483b9bc3cd0953ca8aaff4">num_null_bytes_</a></td></tr>
<tr class="separator:a0185c0e61c483b9bc3cd0953ca8aaff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aced79c7222e84a1ff64d937def8e790d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#aced79c7222e84a1ff64d937def8e790d">num_materialized_slots_</a></td></tr>
<tr class="separator:aced79c7222e84a1ff64d937def8e790d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa31f9b4cb53ee57ac5a218b76f075e4d"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#aa31f9b4cb53ee57ac5a218b76f075e4d">slots_</a></td></tr>
<tr class="separator:aa31f9b4cb53ee57ac5a218b76f075e4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a9493a3f9ab80f7a4e8188f4f182483"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#a6a9493a3f9ab80f7a4e8188f4f182483">string_slots_</a></td></tr>
<tr class="separator:a6a9493a3f9ab80f7a4e8188f4f182483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac24b74de5b87b7b7472f336c45a172f9"><td class="memItemLeft" align="right" valign="top">llvm::StructType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#ac24b74de5b87b7b7472f336c45a172f9">llvm_struct_</a></td></tr>
<tr class="separator:ac24b74de5b87b7b7472f336c45a172f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ac708d8245696c48bdc46f1f383f91318"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1TupleDescriptor.html#ac708d8245696c48bdc46f1f383f91318">DescriptorTbl</a></td></tr>
<tr class="separator:ac708d8245696c48bdc46f1f383f91318"><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>Definition at line <a class="el" href="descriptors_8h_source.html#l00298">298</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a533ecb7b9ea16542782213dd3b5b6236"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">impala::TupleDescriptor::TupleDescriptor </td>
<td>(</td>
<td class="paramtype">const TTupleDescriptor &amp;&#160;</td>
<td class="paramname"><em>tdesc</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8cc_source.html#l00232">232</a> of file <a class="el" href="descriptors_8cc_source.html">descriptors.cc</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a6ab8384554152570c734d6687f781ca5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::TupleDescriptor::AddSlot </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a> *&#160;</td>
<td class="paramname"><em>slot</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8cc_source.html#l00242">242</a> of file <a class="el" href="descriptors_8cc_source.html">descriptors.cc</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00092">impala::SlotDescriptor::is_materialized()</a>, <a class="el" href="types_8h_source.html#l00172">impala::ColumnType::IsVarLen()</a>, <a class="el" href="descriptors_8h_source.html#l00329">num_materialized_slots_</a>, <a class="el" href="descriptors_8h_source.html#l00330">slots_</a>, <a class="el" href="descriptors_8h_source.html#l00331">string_slots_</a>, and <a class="el" href="descriptors_8h_source.html#l00078">impala::SlotDescriptor::type()</a>.</p>
</div>
</div>
<a class="anchor" id="a153205d9bf39422c853b5bd5f54a9485"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::TupleDescriptor::byte_size </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="descriptors_8h_source.html#l00300">300</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00327">byte_size_</a>.</p>
<p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">impala::AnalyticEvalNode::AddResultTuple()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00043">impala::BufferedTupleStream::BufferedTupleStream()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00352">impala::PartitionedAggregationNode::CleanupHashTbl()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00278">impala::AggregationNode::Close()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00124">impala::HdfsScanner::CommitRows()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00314">impala::AggregationNode::ConstructIntermediateTuple()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00591">impala::PartitionedAggregationNode::ConstructIntermediateTuple()</a>, <a class="el" href="tuple_8cc_source.html#l00034">impala::Tuple::DeepCopy()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00374">impala::AggregationNode::FinalizeTuple()</a>, <a class="el" href="descriptors_8cc_source.html#l00556">GenerateLlvmStruct()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00688">impala::PartitionedAggregationNode::GetOutputTuple()</a>, <a class="el" href="sorter_8cc_source.html#l00896">impala::Sorter::Init()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00289">impala::HdfsScanNode::InitEmptyTemplateTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">impala::AnalyticEvalNode::InitNextPartition()</a>, <a class="el" href="topn-node_8cc_source.html#l00144">impala::TopNNode::InsertTupleRow()</a>, <a class="el" href="data-source-scan-node_8cc_source.html#l00193">impala::DataSourceScanNode::MaterializeNextRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">impala::AnalyticEvalNode::Open()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00228">impala::HdfsTextScanner::ResetScanner()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="ad0f7e2143e0e7f8fb491d0d61e763408"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string impala::TupleDescriptor::DebugString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8cc_source.html#l00250">250</a> of file <a class="el" href="descriptors_8cc_source.html">descriptors.cc</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00327">byte_size_</a>, <a class="el" href="descriptors_8h_source.html#l00325">id_</a>, <a class="el" href="descriptors_8h_source.html#l00330">slots_</a>, and <a class="el" href="descriptors_8h_source.html#l00326">table_desc_</a>.</p>
<p>Referenced by <a class="el" href="slot-ref_8cc_source.html#l00063">impala::SlotRef::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ace749ab75ea943faf4605b182782ef06"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">StructType * impala::TupleDescriptor::GenerateLlvmStruct </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1LlvmCodeGen.html">LlvmCodeGen</a> *&#160;</td>
<td class="paramname"><em>codegen</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a typed struct description for llvm. The layout of the struct is computed by the FE which includes the order of the fields in the resulting struct. Returns the struct type or NULL if the type could not be created. For example, the aggregation tuple for this query: select count(*), min(int_col_a) would map to: struct <a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> { int8_t null_byte; int32_t min_a; int64_t count_val; }; The resulting struct definition is cached. </p>
<p>Definition at line <a class="el" href="descriptors_8cc_source.html#l00556">556</a> of file <a class="el" href="descriptors_8cc_source.html">descriptors.cc</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00300">byte_size()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00214">impala::LlvmCodeGen::context()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00217">impala::LlvmCodeGen::execution_engine()</a>, <a class="el" href="descriptors_8h_source.html#l00087">impala::SlotDescriptor::field_idx()</a>, <a class="el" href="descriptors_8h_source.html#l00135">impala::SlotDescriptor::field_idx_</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00312">impala::LlvmCodeGen::GetType()</a>, <a class="el" href="descriptors_8h_source.html#l00092">impala::SlotDescriptor::is_materialized()</a>, <a class="el" href="descriptors_8h_source.html#l00332">llvm_struct_</a>, <a class="el" href="descriptors_8h_source.html#l00329">num_materialized_slots_</a>, <a class="el" href="descriptors_8h_source.html#l00328">num_null_bytes_</a>, <a class="el" href="descriptors_8h_source.html#l00127">impala::SlotDescriptor::slot_idx_</a>, <a class="el" href="descriptors_8h_source.html#l00302">slots()</a>, <a class="el" href="descriptors_8h_source.html#l00088">impala::SlotDescriptor::tuple_offset()</a>, <a class="el" href="types_8h_source.html#l00060">impala::ColumnType::type</a>, <a class="el" href="descriptors_8h_source.html#l00078">impala::SlotDescriptor::type()</a>, <a class="el" href="types_8h_source.html#l00047">impala::TYPE_CHAR</a>, and <a class="el" href="types_8h_source.html#l00031">impala::TYPE_TINYINT</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00691">impala::HdfsAvroScanner::CodegenMaterializeTuple()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00506">impala::AggregationNode::CodegenUpdateSlot()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l01055">impala::PartitionedAggregationNode::CodegenUpdateSlot()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00678">impala::AggregationNode::CodegenUpdateTuple()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l01241">impala::PartitionedAggregationNode::CodegenUpdateTuple()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>, and <a class="el" href="text-converter_8cc_source.html#l00099">impala::TextConverter::CodegenWriteSlot()</a>.</p>
</div>
</div>
<a class="anchor" id="a52f64d0350cfd34372d5476e7a7ee3f0"></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="namespaceimpala.html#ae794620bedabff2a726194c228af75ce">TupleId</a> impala::TupleDescriptor::id </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00306">306</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00325">id_</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::Prepare()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ab95be8e7256eeacc8dfe7bd422964c8a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::TupleDescriptor::num_null_bytes </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="descriptors_8h_source.html#l00301">301</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00328">num_null_bytes_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scanner_8cc_source.html#l00296">impala::HdfsScanner::CodegenWriteCompleteTuple()</a>, and <a class="el" href="tuple_8cc_source.html#l00077">impala::Tuple::MaterializeExprs()</a>.</p>
</div>
</div>
<a class="anchor" id="ab604fb8cc40f88e7f35e5f6f069a76c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;<a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a>*&gt;&amp; impala::TupleDescriptor::slots </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00302">302</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00330">slots_</a>.</p>
<p>Referenced by <a class="el" href="aggregation-node_8cc_source.html#l00678">impala::AggregationNode::CodegenUpdateTuple()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l01241">impala::PartitionedAggregationNode::CodegenUpdateTuple()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00314">impala::AggregationNode::ConstructIntermediateTuple()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00591">impala::PartitionedAggregationNode::ConstructIntermediateTuple()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00374">impala::AggregationNode::FinalizeTuple()</a>, <a class="el" href="descriptors_8cc_source.html#l00556">GenerateLlvmStruct()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00688">impala::PartitionedAggregationNode::GetOutputTuple()</a>, <a class="el" href="tuple_8cc_source.html#l00077">impala::Tuple::MaterializeExprs()</a>, <a class="el" href="tuple-row-compare_8h_source.html#l00113">impala::TupleEqualityChecker::operator()()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00056">impala::HBaseScanNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="data-source-scan-node_8cc_source.html#l00074">impala::DataSourceScanNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, <a class="el" href="debug-util_8cc_source.html#l00166">impala::PrintTuple()</a>, and <a class="el" href="hbase-table-scanner_8cc_source.html#l00290">impala::HBaseTableScanner::ScanSetup()</a>.</p>
</div>
</div>
<a class="anchor" id="a3f0ffae3775bf65b21c0b74ab825d084"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;<a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a>*&gt;&amp; impala::TupleDescriptor::string_slots </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00303">303</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00331">string_slots_</a>.</p>
<p>Referenced by <a class="el" href="scanner-context_8cc_source.html#l00058">impala::ScannerContext::AddStream()</a>, <a class="el" href="buffered-tuple-stream_8cc_source.html#l00043">impala::BufferedTupleStream::BufferedTupleStream()</a>, <a class="el" href="tuple_8cc_source.html#l00040">impala::Tuple::DeepCopy()</a>, <a class="el" href="sorter_8cc_source.html#l00896">impala::Sorter::Init()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00087">impala::HdfsScanner::InitializeWriteTuplesFn()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00068">impala::HdfsRCFileScanner::InitNewRange()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00513">impala::HdfsScanner::UpdateDecompressor()</a>.</p>
</div>
</div>
<a class="anchor" id="a84bd9aabb34808ace9191b9fcfb2dea4"></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_1TableDescriptor.html">TableDescriptor</a>* impala::TupleDescriptor::table_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="descriptors_8h_source.html#l00304">304</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>References <a class="el" href="descriptors_8h_source.html#l00326">table_desc_</a>.</p>
<p>Referenced by <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#l00092">impala::DataSourceScanNode::Open()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00056">impala::HBaseScanNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, and <a class="el" href="hbase-table-scanner_8cc_source.html#l00290">impala::HBaseTableScanner::ScanSetup()</a>.</p>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="ac708d8245696c48bdc46f1f383f91318"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00323">323</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ade8f05710e76fbecac412e84c5376035"></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::TupleDescriptor::byte_size_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00327">327</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>Referenced by <a class="el" href="descriptors_8h_source.html#l00300">byte_size()</a>, and <a class="el" href="descriptors_8cc_source.html#l00250">DebugString()</a>.</p>
</div>
</div>
<a class="anchor" id="a13d6b8ec76e4cde4828476216eb6f762"></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="namespaceimpala.html#ae794620bedabff2a726194c228af75ce">TupleId</a> impala::TupleDescriptor::id_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00325">325</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>Referenced by <a class="el" href="descriptors_8cc_source.html#l00250">DebugString()</a>, and <a class="el" href="descriptors_8h_source.html#l00306">id()</a>.</p>
</div>
</div>
<a class="anchor" id="ac24b74de5b87b7b7472f336c45a172f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">llvm::StructType* impala::TupleDescriptor::llvm_struct_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00332">332</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>Referenced by <a class="el" href="descriptors_8cc_source.html#l00556">GenerateLlvmStruct()</a>.</p>
</div>
</div>
<a class="anchor" id="aced79c7222e84a1ff64d937def8e790d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::TupleDescriptor::num_materialized_slots_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00329">329</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>Referenced by <a class="el" href="descriptors_8cc_source.html#l00242">AddSlot()</a>, and <a class="el" href="descriptors_8cc_source.html#l00556">GenerateLlvmStruct()</a>.</p>
</div>
</div>
<a class="anchor" id="a0185c0e61c483b9bc3cd0953ca8aaff4"></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::TupleDescriptor::num_null_bytes_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00328">328</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>Referenced by <a class="el" href="descriptors_8cc_source.html#l00556">GenerateLlvmStruct()</a>, and <a class="el" href="descriptors_8h_source.html#l00301">num_null_bytes()</a>.</p>
</div>
</div>
<a class="anchor" id="aa31f9b4cb53ee57ac5a218b76f075e4d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a>*&gt; impala::TupleDescriptor::slots_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00330">330</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>Referenced by <a class="el" href="descriptors_8cc_source.html#l00242">AddSlot()</a>, <a class="el" href="descriptors_8cc_source.html#l00250">DebugString()</a>, and <a class="el" href="descriptors_8h_source.html#l00302">slots()</a>.</p>
</div>
</div>
<a class="anchor" id="a6a9493a3f9ab80f7a4e8188f4f182483"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classimpala_1_1SlotDescriptor.html">SlotDescriptor</a>*&gt; impala::TupleDescriptor::string_slots_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00331">331</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>Referenced by <a class="el" href="descriptors_8cc_source.html#l00242">AddSlot()</a>, and <a class="el" href="descriptors_8h_source.html#l00303">string_slots()</a>.</p>
</div>
</div>
<a class="anchor" id="a5009e7107f63ba7829da836a78d5da3c"></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_1TableDescriptor.html">TableDescriptor</a>* impala::TupleDescriptor::table_desc_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="descriptors_8h_source.html#l00326">326</a> of file <a class="el" href="descriptors_8h_source.html">descriptors.h</a>.</p>
<p>Referenced by <a class="el" href="descriptors_8cc_source.html#l00378">impala::DescriptorTbl::Create()</a>, <a class="el" href="descriptors_8cc_source.html#l00250">DebugString()</a>, and <a class="el" href="descriptors_8h_source.html#l00304">table_desc()</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="descriptors_8h_source.html">descriptors.h</a></li>
<li>be/src/runtime/<a class="el" href="descriptors_8cc_source.html">descriptors.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_1TupleDescriptor.html">TupleDescriptor</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>