| <!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::AnalyticEvalNode Class Reference</title> |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="jquery.js"></script> |
| <script type="text/javascript" src="dynsections.js"></script> |
| <link href="navtree.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="resize.js"></script> |
| <script type="text/javascript" src="navtree.js"></script> |
| <script type="text/javascript"> |
| $(document).ready(initResizable); |
| $(window).load(resizeHeight); |
| </script> |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/search.js"></script> |
| <script type="text/javascript"> |
| $(document).ready(function() { searchBox.OnSelectItem(0); }); |
| </script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr style="height: 56px;"> |
| <td style="padding-left: 0.5em;"> |
| <div id="projectname">Impala |
| </div> |
| <div id="projectbrief">Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.6 --> |
| <script type="text/javascript"> |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| </script> |
| <div id="navrow1" class="tabs"> |
| <ul class="tablist"> |
| <li><a href="index.html"><span>Main Page</span></a></li> |
| <li><a href="namespaces.html"><span>Namespaces</span></a></li> |
| <li class="current"><a href="annotated.html"><span>Classes</span></a></li> |
| <li><a href="files.html"><span>Files</span></a></li> |
| <li> |
| <div id="MSearchBox" class="MSearchBoxInactive"> |
| <span class="left"> |
| <img id="MSearchSelect" src="search/mag_sel.png" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| alt=""/> |
| <input type="text" id="MSearchField" value="Search" accesskey="S" |
| onfocus="searchBox.OnSearchFieldFocus(true)" |
| onblur="searchBox.OnSearchFieldFocus(false)" |
| onkeyup="searchBox.OnSearchFieldChange(event)"/> |
| </span><span class="right"> |
| <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> |
| </span> |
| </div> |
| </li> |
| </ul> |
| </div> |
| <div id="navrow2" class="tabs2"> |
| <ul class="tablist"> |
| <li><a href="annotated.html"><span>Class List</span></a></li> |
| <li><a href="classes.html"><span>Class Index</span></a></li> |
| <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> |
| <li><a href="functions.html"><span>Class Members</span></a></li> |
| </ul> |
| </div> |
| </div><!-- top --> |
| <div id="side-nav" class="ui-resizable side-nav-resizable"> |
| <div id="nav-tree"> |
| <div id="nav-tree-contents"> |
| <div id="nav-sync" class="sync"></div> |
| </div> |
| </div> |
| <div id="splitbar" style="-moz-user-select:none;" |
| class="ui-resizable-handle"> |
| </div> |
| </div> |
| <script type="text/javascript"> |
| $(document).ready(function(){initNavTree('classimpala_1_1AnalyticEvalNode.html','');}); |
| </script> |
| <div id="doc-content"> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a></div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pub-static-methods">Static Public Member Functions</a> | |
| <a href="#pub-static-attribs">Static Public Attributes</a> | |
| <a href="#pro-methods">Protected Member Functions</a> | |
| <a href="#pro-static-methods">Static Protected Member Functions</a> | |
| <a href="#pro-attribs">Protected Attributes</a> | |
| <a href="#pri-types">Private Types</a> | |
| <a href="#pri-methods">Private Member Functions</a> | |
| <a href="#pri-attribs">Private Attributes</a> | |
| <a href="classimpala_1_1AnalyticEvalNode-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">impala::AnalyticEvalNode Class Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p><code>#include <<a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>></code></p> |
| <div class="dynheader"> |
| Inheritance diagram for impala::AnalyticEvalNode:</div> |
| <div class="dyncontent"> |
| <div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1AnalyticEvalNode__inherit__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div> |
| </div> |
| <div class="dynheader"> |
| Collaboration diagram for impala::AnalyticEvalNode:</div> |
| <div class="dyncontent"> |
| <div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1AnalyticEvalNode__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:a05864b508664b0b928dff0fd8532124a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a05864b508664b0b928dff0fd8532124a">AnalyticEvalNode</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlanNode &tnode, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &descs)</td></tr> |
| <tr class="separator:a05864b508664b0b928dff0fd8532124a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8b8b941f4543bc8748724b6be46a96e2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a8b8b941f4543bc8748724b6be46a96e2">Init</a> (const TPlanNode &tnode)</td></tr> |
| <tr class="separator:a8b8b941f4543bc8748724b6be46a96e2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1949c18b119c8ec046ef9b231a38a22b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1949c18b119c8ec046ef9b231a38a22b">Prepare</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> |
| <tr class="separator:a1949c18b119c8ec046ef9b231a38a22b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:adbffbcca3ddea45d2421e16f0a864750"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#adbffbcca3ddea45d2421e16f0a864750">Open</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> |
| <tr class="separator:adbffbcca3ddea45d2421e16f0a864750"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa0cb1ccfdc50eaafb140ac9aad1c4b36"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa0cb1ccfdc50eaafb140ac9aad1c4b36">GetNext</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *row_batch, <a class="el" href="classbool.html">bool</a> *eos)</td></tr> |
| <tr class="separator:aa0cb1ccfdc50eaafb140ac9aad1c4b36"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a90efde191c894a4e3af24228ba1f6f6a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a90efde191c894a4e3af24228ba1f6f6a">Reset</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> |
| <tr class="separator:a90efde191c894a4e3af24228ba1f6f6a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0ac02b87b85310e0a3771e308cbd621f"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> |
| <tr class="separator:a0ac02b87b85310e0a3771e308cbd621f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a79a78df488ddcb12e0150b919efc059a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a79a78df488ddcb12e0150b919efc059a">CollectNodes</a> (TPlanNodeType::type node_type, std::vector< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > *nodes)</td></tr> |
| <tr class="separator:a79a78df488ddcb12e0150b919efc059a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aeaf6b6a9dff1fd661e63258272c62b96"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aeaf6b6a9dff1fd661e63258272c62b96">CollectScanNodes</a> (std::vector< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > *nodes)</td></tr> |
| <tr class="memdesc:aeaf6b6a9dff1fd661e63258272c62b96"><td class="mdescLeft"> </td><td class="mdescRight">Collect all scan node types. <a href="#aeaf6b6a9dff1fd661e63258272c62b96">More...</a><br/></td></tr> |
| <tr class="separator:aeaf6b6a9dff1fd661e63258272c62b96"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a56de50f3c92483ba38f6e42ab19cc0a2">DebugString</a> () const </td></tr> |
| <tr class="memdesc:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="mdescLeft"> </td><td class="mdescRight">Returns a string representation in DFS order of the plan rooted at this. <a href="#a56de50f3c92483ba38f6e42ab19cc0a2">More...</a><br/></td></tr> |
| <tr class="separator:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad21c25a63f7a11127082710941d23654"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ad21c25a63f7a11127082710941d23654">conjunct_ctxs</a> () const </td></tr> |
| <tr class="separator:ad21c25a63f7a11127082710941d23654"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2088a36bc4bb4e0c3c7c1444198b76dd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a2088a36bc4bb4e0c3c7c1444198b76dd">id</a> () const </td></tr> |
| <tr class="separator:a2088a36bc4bb4e0c3c7c1444198b76dd"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aef75c686c9c11e8fcb9b21cfa74c442d"><td class="memItemLeft" align="right" valign="top">TPlanNodeType::type </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aef75c686c9c11e8fcb9b21cfa74c442d">type</a> () const </td></tr> |
| <tr class="separator:aef75c686c9c11e8fcb9b21cfa74c442d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a467297b1704ae33db61ae61d3400c35f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a467297b1704ae33db61ae61d3400c35f">row_desc</a> () const </td></tr> |
| <tr class="separator:a467297b1704ae33db61ae61d3400c35f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3f3a896c7e58304582acd34f662b4c72"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3f3a896c7e58304582acd34f662b4c72">rows_returned</a> () const </td></tr> |
| <tr class="separator:a3f3a896c7e58304582acd34f662b4c72"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8083cea2b4b6646c80d8d87a0522074b"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a8083cea2b4b6646c80d8d87a0522074b">limit</a> () const </td></tr> |
| <tr class="separator:a8083cea2b4b6646c80d8d87a0522074b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3ff26374466bc587eaa4c7d00b3e126a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3ff26374466bc587eaa4c7d00b3e126a">ReachedLimit</a> ()</td></tr> |
| <tr class="separator:a3ff26374466bc587eaa4c7d00b3e126a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad062f28c78add1a869fffdab9419b09d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ad062f28c78add1a869fffdab9419b09d">runtime_profile</a> ()</td></tr> |
| <tr class="separator:ad062f28c78add1a869fffdab9419b09d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:abd7922a579e4adc353756849a0f45b48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#abd7922a579e4adc353756849a0f45b48">mem_tracker</a> ()</td></tr> |
| <tr class="separator:abd7922a579e4adc353756849a0f45b48"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:abe940aa2d7da783c4e8c65f0af22ad8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#abe940aa2d7da783c4e8c65f0af22ad8f">expr_mem_tracker</a> ()</td></tr> |
| <tr class="separator:abe940aa2d7da783c4e8c65f0af22ad8f"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> |
| Static Public Member Functions</h2></td></tr> |
| <tr class="memitem:aad99835d1957684b656d5f2d4427b5eb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aad99835d1957684b656d5f2d4427b5eb">CreateTree</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlan &plan, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **root)</td></tr> |
| <tr class="separator:aad99835d1957684b656d5f2d4427b5eb"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a39054faeb49a0adeeabb256106f456af"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a39054faeb49a0adeeabb256106f456af">SetDebugOptions</a> (int node_id, TExecNodePhase::type phase, TDebugAction::type action, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *tree)</td></tr> |
| <tr class="memdesc:a39054faeb49a0adeeabb256106f456af"><td class="mdescLeft"> </td><td class="mdescRight">Set debug action for node with given id in 'tree'. <a href="#a39054faeb49a0adeeabb256106f456af">More...</a><br/></td></tr> |
| <tr class="separator:a39054faeb49a0adeeabb256106f456af"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a48ec693b9eb748682b58479751812f08"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a48ec693b9eb748682b58479751812f08">EvalConjuncts</a> (<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *const *ctxs, int num_ctxs, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr> |
| <tr class="separator:a48ec693b9eb748682b58479751812f08"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a64bf8cb31a57b9d6dc3f5cd60066a686"><td class="memItemLeft" align="right" valign="top">static llvm::Function * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a64bf8cb31a57b9d6dc3f5cd60066a686">CodegenEvalConjuncts</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, const std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > &<a class="el" href="classimpala_1_1ExecNode.html#ad21c25a63f7a11127082710941d23654">conjunct_ctxs</a>, const char *<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name</a>="EvalConjuncts")</td></tr> |
| <tr class="separator:a64bf8cb31a57b9d6dc3f5cd60066a686"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3e2d144b60f904f6b1f3219b9471aad3"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3e2d144b60f904f6b1f3219b9471aad3">GetNodeIdFromProfile</a> (<a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> *p)</td></tr> |
| <tr class="memdesc:a3e2d144b60f904f6b1f3219b9471aad3"><td class="mdescLeft"> </td><td class="mdescRight">Extract node id from p-><a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name()</a>. <a href="#a3e2d144b60f904f6b1f3219b9471aad3">More...</a><br/></td></tr> |
| <tr class="separator:a3e2d144b60f904f6b1f3219b9471aad3"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a> |
| Static Public Attributes</h2></td></tr> |
| <tr class="memitem:a514778516fb852eed80c2e98bf08fac2"><td class="memItemLeft" align="right" valign="top">static const std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a514778516fb852eed80c2e98bf08fac2">ROW_THROUGHPUT_COUNTER</a> = "RowsReturnedRate"</td></tr> |
| <tr class="memdesc:a514778516fb852eed80c2e98bf08fac2"><td class="mdescLeft"> </td><td class="mdescRight">Names of counters shared by all exec nodes. <a href="#a514778516fb852eed80c2e98bf08fac2">More...</a><br/></td></tr> |
| <tr class="separator:a514778516fb852eed80c2e98bf08fac2"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> |
| Protected Member Functions</h2></td></tr> |
| <tr class="memitem:af15cf540c4d2895f42f6708b83e77de4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#af15cf540c4d2895f42f6708b83e77de4">QueryMaintenance</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> |
| <tr class="memdesc:af15cf540c4d2895f42f6708b83e77de4"><td class="mdescLeft"> </td><td class="mdescRight">Frees local allocations from evaluators_. <a href="#af15cf540c4d2895f42f6708b83e77de4">More...</a><br/></td></tr> |
| <tr class="separator:af15cf540c4d2895f42f6708b83e77de4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1af2ab85a2faabf4e3ed8ab3e03a114f"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1af2ab85a2faabf4e3ed8ab3e03a114f">DebugString</a> (int indentation_level, std::stringstream *out) const </td></tr> |
| <tr class="separator:a1af2ab85a2faabf4e3ed8ab3e03a114f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1fb77c5926ec8ad015f153aabb190237"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a1fb77c5926ec8ad015f153aabb190237">child</a> (int i)</td></tr> |
| <tr class="separator:a1fb77c5926ec8ad015f153aabb190237"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a467751b7182365c83e867dc3d50b43e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a467751b7182365c83e867dc3d50b43e2">is_closed</a> ()</td></tr> |
| <tr class="separator:a467751b7182365c83e867dc3d50b43e2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa4941adc86040c00d0fe1b52bb1c0221"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aa4941adc86040c00d0fe1b52bb1c0221">IsScanNode</a> () const </td></tr> |
| <tr class="separator:aa4941adc86040c00d0fe1b52bb1c0221"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:adf07b8ec102e4bc7cc3707157c8f0e99"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#adf07b8ec102e4bc7cc3707157c8f0e99">InitRuntimeProfile</a> (const std::string &<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name</a>)</td></tr> |
| <tr class="separator:adf07b8ec102e4bc7cc3707157c8f0e99"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a310d3a6b28f5bb1046a90ef8995ffb12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a310d3a6b28f5bb1046a90ef8995ffb12">ExecDebugAction</a> (TExecNodePhase::type phase, <a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> |
| <tr class="separator:a310d3a6b28f5bb1046a90ef8995ffb12"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a05e056b5d11b187a1d31723c7d1592eb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a05e056b5d11b187a1d31723c7d1592eb">AddRuntimeExecOption</a> (const std::string &option)</td></tr> |
| <tr class="memdesc:a05e056b5d11b187a1d31723c7d1592eb"><td class="mdescLeft"> </td><td class="mdescRight">Appends option to 'runtime_exec_options_'. <a href="#a05e056b5d11b187a1d31723c7d1592eb">More...</a><br/></td></tr> |
| <tr class="separator:a05e056b5d11b187a1d31723c7d1592eb"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a4ad378d275c91637f12ca7fa742d59db"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a4ad378d275c91637f12ca7fa742d59db">AddExprCtxToFree</a> (<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *ctx)</td></tr> |
| <tr class="separator:a4ad378d275c91637f12ca7fa742d59db"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a19340582202dd61e0b028c28efa5490a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a19340582202dd61e0b028c28efa5490a">AddExprCtxsToFree</a> (const std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > &ctxs)</td></tr> |
| <tr class="separator:a19340582202dd61e0b028c28efa5490a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:afa7de6fd3a4f1580884680c35b9b8804"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#afa7de6fd3a4f1580884680c35b9b8804">AddExprCtxsToFree</a> (const <a class="el" href="classimpala_1_1SortExecExprs.html">SortExecExprs</a> &sort_exec_exprs)</td></tr> |
| <tr class="separator:afa7de6fd3a4f1580884680c35b9b8804"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a> |
| Static Protected Member Functions</h2></td></tr> |
| <tr class="memitem:af055b7d9d3de849cbde01b12c608ee38"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#af055b7d9d3de849cbde01b12c608ee38">CreateNode</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlanNode &tnode, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **node)</td></tr> |
| <tr class="memdesc:af055b7d9d3de849cbde01b12c608ee38"><td class="mdescLeft"> </td><td class="mdescRight">Create a single exec node derived from thrift node; place exec node in 'pool'. <a href="#af055b7d9d3de849cbde01b12c608ee38">More...</a><br/></td></tr> |
| <tr class="separator:af055b7d9d3de849cbde01b12c608ee38"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3d97c1b8247ed300dd82db66f38e7b00"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3d97c1b8247ed300dd82db66f38e7b00">CreateTreeHelper</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const std::vector< TPlanNode > &tnodes, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *parent, int *node_idx, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **root)</td></tr> |
| <tr class="separator:a3d97c1b8247ed300dd82db66f38e7b00"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> |
| Protected Attributes</h2></td></tr> |
| <tr class="memitem:a2d543ec055a04199286b52d23a82280f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a2d543ec055a04199286b52d23a82280f">id_</a></td></tr> |
| <tr class="separator:a2d543ec055a04199286b52d23a82280f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab86051ba57221a009063eda6e2aefd76"><td class="memItemLeft" align="right" valign="top">TPlanNodeType::type </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ab86051ba57221a009063eda6e2aefd76">type_</a></td></tr> |
| <tr class="separator:ab86051ba57221a009063eda6e2aefd76"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac55aaa21c7750fd5f8774aee1ac5211a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ac55aaa21c7750fd5f8774aee1ac5211a">pool_</a></td></tr> |
| <tr class="separator:ac55aaa21c7750fd5f8774aee1ac5211a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a302f24417303ae6eb522e50a15f9ca2c"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a302f24417303ae6eb522e50a15f9ca2c">conjunct_ctxs_</a></td></tr> |
| <tr class="separator:a302f24417303ae6eb522e50a15f9ca2c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab5b4aff8e7b124468f2b61ca63b87ab5"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ab5b4aff8e7b124468f2b61ca63b87ab5">children_</a></td></tr> |
| <tr class="separator:ab5b4aff8e7b124468f2b61ca63b87ab5"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a900a9e0a75e9839f9c6d4658518944b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a900a9e0a75e9839f9c6d4658518944b8">row_descriptor_</a></td></tr> |
| <tr class="separator:a900a9e0a75e9839f9c6d4658518944b8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a76c55d45e1b55f82b83614898240adaf"><td class="memItemLeft" align="right" valign="top">TExecNodePhase::type </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a76c55d45e1b55f82b83614898240adaf">debug_phase_</a></td></tr> |
| <tr class="separator:a76c55d45e1b55f82b83614898240adaf"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a08cd2dfda956999b3995caafe76190fd"><td class="memItemLeft" align="right" valign="top">TDebugAction::type </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a08cd2dfda956999b3995caafe76190fd">debug_action_</a></td></tr> |
| <tr class="separator:a08cd2dfda956999b3995caafe76190fd"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae41f912c39b004f60987b4d480e442b8"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ae41f912c39b004f60987b4d480e442b8">limit_</a></td></tr> |
| <tr class="separator:ae41f912c39b004f60987b4d480e442b8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9789aeca3e98cda63998a8f47d355fd9"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a9789aeca3e98cda63998a8f47d355fd9">num_rows_returned_</a></td></tr> |
| <tr class="separator:a9789aeca3e98cda63998a8f47d355fd9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9cab4e45a94527ff97333c0f280036f8"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a9cab4e45a94527ff97333c0f280036f8">runtime_profile_</a></td></tr> |
| <tr class="separator:a9cab4e45a94527ff97333c0f280036f8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a632a4cdd4c654f362f630936c5ecb29a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a632a4cdd4c654f362f630936c5ecb29a">rows_returned_counter_</a></td></tr> |
| <tr class="separator:a632a4cdd4c654f362f630936c5ecb29a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1fda03b2e215e5fac1352403ae737030"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a1fda03b2e215e5fac1352403ae737030">rows_returned_rate_</a></td></tr> |
| <tr class="separator:a1fda03b2e215e5fac1352403ae737030"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aba2362d7d1816b4f90f3e1f6768accd1"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aba2362d7d1816b4f90f3e1f6768accd1">mem_tracker_</a></td></tr> |
| <tr class="memdesc:aba2362d7d1816b4f90f3e1f6768accd1"><td class="mdescLeft"> </td><td class="mdescRight">Account for peak memory used by this node. <a href="#aba2362d7d1816b4f90f3e1f6768accd1">More...</a><br/></td></tr> |
| <tr class="separator:aba2362d7d1816b4f90f3e1f6768accd1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8574c9973af1609b90cef86ccc331141"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a8574c9973af1609b90cef86ccc331141">expr_mem_tracker_</a></td></tr> |
| <tr class="memdesc:a8574c9973af1609b90cef86ccc331141"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classimpala_1_1MemTracker.html" title="This class is thread-safe. ">MemTracker</a> that should be used for ExprContexts. <a href="#a8574c9973af1609b90cef86ccc331141">More...</a><br/></td></tr> |
| <tr class="separator:a8574c9973af1609b90cef86ccc331141"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa536e5c953d915df988c5bcbf24db9f4"><td class="memItemLeft" align="right" valign="top">boost::mutex </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aa536e5c953d915df988c5bcbf24db9f4">exec_options_lock_</a></td></tr> |
| <tr class="separator:aa536e5c953d915df988c5bcbf24db9f4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6e72d8a73cfdc5ab09f6bafcca6f8411"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a6e72d8a73cfdc5ab09f6bafcca6f8411">runtime_exec_options_</a></td></tr> |
| <tr class="separator:a6e72d8a73cfdc5ab09f6bafcca6f8411"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a> |
| Private Types</h2></td></tr> |
| <tr class="memitem:a124e80e62c2bac34f196c8e8a3de547f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a124e80e62c2bac34f196c8e8a3de547f">AnalyticFnScope</a> { <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a124e80e62c2bac34f196c8e8a3de547fab461aab8c1d6015d8c39e0422711d68f">PARTITION</a>, |
| <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a124e80e62c2bac34f196c8e8a3de547face0a5e1a113c890a4269d11ec6ce11e0">RANGE</a>, |
| <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a124e80e62c2bac34f196c8e8a3de547fa402e54776e22954037dcfa0671f943a3">ROWS</a> |
| }</td></tr> |
| <tr class="separator:a124e80e62c2bac34f196c8e8a3de547f"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a> |
| Private Member Functions</h2></td></tr> |
| <tr class="memitem:ae83988b11c6361d6ffed3c4651fb2ffe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae83988b11c6361d6ffed3c4651fb2ffe">ProcessChildBatch</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> |
| <tr class="separator:ae83988b11c6361d6ffed3c4651fb2ffe"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad682fc2359a1d739f06448e5ee8d4439"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ad682fc2359a1d739f06448e5ee8d4439">ProcessChildBatches</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr> |
| <tr class="separator:ad682fc2359a1d739f06448e5ee8d4439"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a17eeb830a6e55da731d2291f8ee008d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a17eeb830a6e55da731d2291f8ee008d3">GetNextOutputBatch</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *row_batch, <a class="el" href="classbool.html">bool</a> *eos)</td></tr> |
| <tr class="separator:a17eeb830a6e55da731d2291f8ee008d3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1e6d259f78ba621c98890a7c9c4481b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1e6d259f78ba621c98890a7c9c4481b2">AddRow</a> (int64_t stream_idx, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr> |
| <tr class="memdesc:a1e6d259f78ba621c98890a7c9c4481b2"><td class="mdescLeft"> </td><td class="mdescRight">Adds the row to the evaluators and the tuple stream. <a href="#a1e6d259f78ba621c98890a7c9c4481b2">More...</a><br/></td></tr> |
| <tr class="separator:a1e6d259f78ba621c98890a7c9c4481b2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad5a8e128e4ab3f19283f4e13c69ea657"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ad5a8e128e4ab3f19283f4e13c69ea657">TryAddResultTupleForPrevRow</a> (<a class="el" href="classbool.html">bool</a> next_partition, int64_t stream_idx, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr> |
| <tr class="separator:ad5a8e128e4ab3f19283f4e13c69ea657"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac8dedfe38fcbc18a3ba1e67b46a764a1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ac8dedfe38fcbc18a3ba1e67b46a764a1">TryAddResultTupleForCurrRow</a> (int64_t stream_idx, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr> |
| <tr class="separator:ac8dedfe38fcbc18a3ba1e67b46a764a1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a65feb876863700f3bb5e33909a53684a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a65feb876863700f3bb5e33909a53684a">TryAddRemainingResults</a> (int64_t partition_idx, int64_t prev_partition_idx)</td></tr> |
| <tr class="separator:a65feb876863700f3bb5e33909a53684a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:acb1c507cc8fe731c185b61914a05d22b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#acb1c507cc8fe731c185b61914a05d22b">TryRemoveRowsBeforeWindow</a> (int64_t stream_idx)</td></tr> |
| <tr class="separator:acb1c507cc8fe731c185b61914a05d22b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3003e3e53bfa81d624a842da6da5ad0a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a3003e3e53bfa81d624a842da6da5ad0a">InitNextPartition</a> (int64_t stream_idx)</td></tr> |
| <tr class="separator:a3003e3e53bfa81d624a842da6da5ad0a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a432c79c755ae28bb999293f05f3513f7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a432c79c755ae28bb999293f05f3513f7">AddResultTuple</a> (int64_t stream_idx)</td></tr> |
| <tr class="separator:a432c79c755ae28bb999293f05f3513f7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a563c5a775c005df8aa319ed1520e4835"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a563c5a775c005df8aa319ed1520e4835">NumOutputRowsReady</a> () const </td></tr> |
| <tr class="separator:a563c5a775c005df8aa319ed1520e4835"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a83d178109785bd247a685ff18e6ee4fc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a83d178109785bd247a685ff18e6ee4fc">ResetLeadFnSlots</a> ()</td></tr> |
| <tr class="separator:a83d178109785bd247a685ff18e6ee4fc"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8fe869c0d785bcee3f8d2be370d7e925"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a8fe869c0d785bcee3f8d2be370d7e925">PrevRowCompare</a> (<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *pred_ctx)</td></tr> |
| <tr class="separator:a8fe869c0d785bcee3f8d2be370d7e925"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aad3446182c8013f53e4a148002b541c9"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#aad3446182c8013f53e4a148002b541c9">DebugStateString</a> (<a class="el" href="classbool.html">bool</a> detailed) const </td></tr> |
| <tr class="memdesc:aad3446182c8013f53e4a148002b541c9"><td class="mdescLeft"> </td><td class="mdescRight">Debug string containing current state. If 'detailed', per-row state is included. <a href="#aad3446182c8013f53e4a148002b541c9">More...</a><br/></td></tr> |
| <tr class="separator:aad3446182c8013f53e4a148002b541c9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:afb77eb6a6fcc29f4257e2b5782159a17"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#afb77eb6a6fcc29f4257e2b5782159a17">DebugEvaluatedRowsString</a> () const </td></tr> |
| <tr class="separator:afb77eb6a6fcc29f4257e2b5782159a17"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae35a2fb648900f7d2ea4d94d64d55be1"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae35a2fb648900f7d2ea4d94d64d55be1">DebugWindowString</a> () const </td></tr> |
| <tr class="memdesc:ae35a2fb648900f7d2ea4d94d64d55be1"><td class="mdescLeft"> </td><td class="mdescRight">Debug string containing the window definition. <a href="#ae35a2fb648900f7d2ea4d94d64d55be1">More...</a><br/></td></tr> |
| <tr class="separator:ae35a2fb648900f7d2ea4d94d64d55be1"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a> |
| Private Attributes</h2></td></tr> |
| <tr class="memitem:a3b01a5128c4e41b7f981cc101e7cf52b"><td class="memItemLeft" align="right" valign="top">const TAnalyticWindow </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a3b01a5128c4e41b7f981cc101e7cf52b">window_</a></td></tr> |
| <tr class="separator:a3b01a5128c4e41b7f981cc101e7cf52b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae4e0a58d886837304890115cf52139db"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1TupleDescriptor.html">TupleDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae4e0a58d886837304890115cf52139db">intermediate_tuple_desc_</a></td></tr> |
| <tr class="memdesc:ae4e0a58d886837304890115cf52139db"><td class="mdescLeft"> </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> descriptor for storing intermediate values of analytic fn evaluation. <a href="#ae4e0a58d886837304890115cf52139db">More...</a><br/></td></tr> |
| <tr class="separator:ae4e0a58d886837304890115cf52139db"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa7f58976c3ce9e8424e829132f9ebe4e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1TupleDescriptor.html">TupleDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa7f58976c3ce9e8424e829132f9ebe4e">result_tuple_desc_</a></td></tr> |
| <tr class="memdesc:aa7f58976c3ce9e8424e829132f9ebe4e"><td class="mdescLeft"> </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> descriptor for storing results of analytic fn evaluation. <a href="#aa7f58976c3ce9e8424e829132f9ebe4e">More...</a><br/></td></tr> |
| <tr class="separator:aa7f58976c3ce9e8424e829132f9ebe4e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a5625c8023bf7a84032cbd0e1de1d2fe2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TupleDescriptor.html">TupleDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a5625c8023bf7a84032cbd0e1de1d2fe2">buffered_tuple_desc_</a></td></tr> |
| <tr class="separator:a5625c8023bf7a84032cbd0e1de1d2fe2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a12f0c45aedc1657355570f6500d1489b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a12f0c45aedc1657355570f6500d1489b">child_tuple_cmp_row_</a></td></tr> |
| <tr class="separator:a12f0c45aedc1657355570f6500d1489b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:adc283744ea4f9f1f5809bd85d34a18ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#adc283744ea4f9f1f5809bd85d34a18ac">partition_by_eq_expr_ctx_</a></td></tr> |
| <tr class="separator:adc283744ea4f9f1f5809bd85d34a18ac"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2dd62d9e8b01487d84715d07e5d89fe9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a2dd62d9e8b01487d84715d07e5d89fe9">order_by_eq_expr_ctx_</a></td></tr> |
| <tr class="separator:a2dd62d9e8b01487d84715d07e5d89fe9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7459b003fa1c9fc7c4e9270694d7fb7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a124e80e62c2bac34f196c8e8a3de547f">AnalyticFnScope</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a7459b003fa1c9fc7c4e9270694d7fb7e">fn_scope_</a></td></tr> |
| <tr class="separator:a7459b003fa1c9fc7c4e9270694d7fb7e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3505b19cbdf5efa26eef8b734ab43bf4"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a3505b19cbdf5efa26eef8b734ab43bf4">rows_start_offset_</a></td></tr> |
| <tr class="separator:a3505b19cbdf5efa26eef8b734ab43bf4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa4fb807dfd714bacc4034a0a86b0d57d"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa4fb807dfd714bacc4034a0a86b0d57d">rows_end_offset_</a></td></tr> |
| <tr class="separator:aa4fb807dfd714bacc4034a0a86b0d57d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a5c50b3ef37f8bf478e3a3125baf8ece7"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classimpala_1_1AggFnEvaluator.html">AggFnEvaluator</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a5c50b3ef37f8bf478e3a3125baf8ece7">evaluators_</a></td></tr> |
| <tr class="memdesc:a5c50b3ef37f8bf478e3a3125baf8ece7"><td class="mdescLeft"> </td><td class="mdescRight">Analytic function evaluators. <a href="#a5c50b3ef37f8bf478e3a3125baf8ece7">More...</a><br/></td></tr> |
| <tr class="separator:a5c50b3ef37f8bf478e3a3125baf8ece7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a79a48a037d813278fc34433af23f5ea2"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classbool.html">bool</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a79a48a037d813278fc34433af23f5ea2">is_lead_fn_</a></td></tr> |
| <tr class="separator:a79a48a037d813278fc34433af23f5ea2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a418055d12b5cff66c7af2d05cb7588ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a418055d12b5cff66c7af2d05cb7588ff">has_first_val_null_offset_</a></td></tr> |
| <tr class="separator:a418055d12b5cff66c7af2d05cb7588ff"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:abd08adcbb33b3fa49a428571052a2672"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#abd08adcbb33b3fa49a428571052a2672">first_val_null_offset_</a></td></tr> |
| <tr class="separator:abd08adcbb33b3fa49a428571052a2672"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad9a213f2c02f8b4e853c3b798a522a2c"><td class="memItemLeft" align="right" valign="top">std::vector<br class="typebreak"/> |
| < <a class="el" href="classimpala__udf_1_1FunctionContext.html">impala_udf::FunctionContext</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ad9a213f2c02f8b4e853c3b798a522a2c">fn_ctxs_</a></td></tr> |
| <tr class="separator:ad9a213f2c02f8b4e853c3b798a522a2c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae62ca30d1bbc5f23e0d3c97c7ef482dd"><td class="memItemLeft" align="right" valign="top">std::list< std::pair< int64_t, <br class="typebreak"/> |
| <a class="el" href="classimpala_1_1Tuple.html">Tuple</a> * > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae62ca30d1bbc5f23e0d3c97c7ef482dd">result_tuples_</a></td></tr> |
| <tr class="separator:ae62ca30d1bbc5f23e0d3c97c7ef482dd"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a70b0fd9f40411b99d968ef4239ab5791"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a70b0fd9f40411b99d968ef4239ab5791">last_result_idx_</a></td></tr> |
| <tr class="memdesc:a70b0fd9f40411b99d968ef4239ab5791"><td class="mdescLeft"> </td><td class="mdescRight">Index in input_stream_ of the most recently added result tuple. <a href="#a70b0fd9f40411b99d968ef4239ab5791">More...</a><br/></td></tr> |
| <tr class="separator:a70b0fd9f40411b99d968ef4239ab5791"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ade82a38efc3a52d774c3ce155fd7ffd8"><td class="memItemLeft" align="right" valign="top">std::list< std::pair< int64_t, <br class="typebreak"/> |
| <a class="el" href="classimpala_1_1Tuple.html">Tuple</a> * > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ade82a38efc3a52d774c3ce155fd7ffd8">window_tuples_</a></td></tr> |
| <tr class="separator:ade82a38efc3a52d774c3ce155fd7ffd8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa0f216a10b3993c9f67a6b9d9f4af35b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TupleDescriptor.html">TupleDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa0f216a10b3993c9f67a6b9d9f4af35b">child_tuple_desc_</a></td></tr> |
| <tr class="separator:aa0f216a10b3993c9f67a6b9d9f4af35b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac09e20ad160e0cafcb30a6519a8bb69f"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1MemPool.html">MemPool</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ac09e20ad160e0cafcb30a6519a8bb69f">curr_tuple_pool_</a></td></tr> |
| <tr class="separator:ac09e20ad160e0cafcb30a6519a8bb69f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae9d0ba459a101a5a216c4fb41c35c2ca"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1MemPool.html">MemPool</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae9d0ba459a101a5a216c4fb41c35c2ca">prev_tuple_pool_</a></td></tr> |
| <tr class="separator:ae9d0ba459a101a5a216c4fb41c35c2ca"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8765316b87338cb75c8888ea3922753d"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a8765316b87338cb75c8888ea3922753d">prev_pool_last_result_idx_</a></td></tr> |
| <tr class="separator:a8765316b87338cb75c8888ea3922753d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:acb273aa5613f23427f7a7cd5935a8dc1"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#acb273aa5613f23427f7a7cd5935a8dc1">prev_pool_last_window_idx_</a></td></tr> |
| <tr class="separator:acb273aa5613f23427f7a7cd5935a8dc1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa76b74cdb1b1305c2563791f8be00f9b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa76b74cdb1b1305c2563791f8be00f9b">curr_tuple_</a></td></tr> |
| <tr class="separator:aa76b74cdb1b1305c2563791f8be00f9b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a4dee04b4d898c4bf324659e3b0bfffe4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Tuple.html">Tuple</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a4dee04b4d898c4bf324659e3b0bfffe4">dummy_result_tuple_</a></td></tr> |
| <tr class="separator:a4dee04b4d898c4bf324659e3b0bfffe4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8a952c34b04013f69cc316fc0382933a"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a8a952c34b04013f69cc316fc0382933a">curr_partition_idx_</a></td></tr> |
| <tr class="memdesc:a8a952c34b04013f69cc316fc0382933a"><td class="mdescLeft"> </td><td class="mdescRight">Index of the row in input_stream_ at which the current partition started. <a href="#a8a952c34b04013f69cc316fc0382933a">More...</a><br/></td></tr> |
| <tr class="separator:a8a952c34b04013f69cc316fc0382933a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad5e51075d1c720accc7c3d59cf54b955"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#ad5e51075d1c720accc7c3d59cf54b955">prev_input_row_</a></td></tr> |
| <tr class="separator:ad5e51075d1c720accc7c3d59cf54b955"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0ed071e7bb4bb7ed3a9dd8a26f1ca174"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ed071e7bb4bb7ed3a9dd8a26f1ca174">prev_child_batch_</a></td></tr> |
| <tr class="separator:a0ed071e7bb4bb7ed3a9dd8a26f1ca174"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a99c9637750d75e08c6385eaa89a2d1ca"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a99c9637750d75e08c6385eaa89a2d1ca">curr_child_batch_</a></td></tr> |
| <tr class="separator:a99c9637750d75e08c6385eaa89a2d1ca"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a09ddce3fc6bcb1a79b2bce3213ae6261"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structimpala_1_1BufferedBlockMgr_1_1Client.html">BufferedBlockMgr::Client</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a09ddce3fc6bcb1a79b2bce3213ae6261">client_</a></td></tr> |
| <tr class="memdesc:a09ddce3fc6bcb1a79b2bce3213ae6261"><td class="mdescLeft"> </td><td class="mdescRight">Block manager client used by input_stream_. Not owned. <a href="#a09ddce3fc6bcb1a79b2bce3213ae6261">More...</a><br/></td></tr> |
| <tr class="separator:a09ddce3fc6bcb1a79b2bce3213ae6261"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a173014acf537a12ef8c0e501b9e7ec0f"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr<br class="typebreak"/> |
| < <a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a173014acf537a12ef8c0e501b9e7ec0f">input_stream_</a></td></tr> |
| <tr class="separator:a173014acf537a12ef8c0e501b9e7ec0f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a97a23419d36a42b06d18d4601e3e05f2"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr< <a class="el" href="classimpala_1_1MemPool.html">MemPool</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a97a23419d36a42b06d18d4601e3e05f2">mem_pool_</a></td></tr> |
| <tr class="memdesc:a97a23419d36a42b06d18d4601e3e05f2"><td class="mdescLeft"> </td><td class="mdescRight">Pool used for O(1) allocations that live until close. <a href="#a97a23419d36a42b06d18d4601e3e05f2">More...</a><br/></td></tr> |
| <tr class="separator:a97a23419d36a42b06d18d4601e3e05f2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7eac9d9411f60982e100cdeca914cafa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a7eac9d9411f60982e100cdeca914cafa">input_eos_</a></td></tr> |
| <tr class="memdesc:a7eac9d9411f60982e100cdeca914cafa"><td class="mdescLeft"> </td><td class="mdescRight">True when there are no more input rows to consume from our child. <a href="#a7eac9d9411f60982e100cdeca914cafa">More...</a><br/></td></tr> |
| <tr class="separator:a7eac9d9411f60982e100cdeca914cafa"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa844eaa603d2381408aece6345f03e79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa844eaa603d2381408aece6345f03e79">evaluation_timer_</a></td></tr> |
| <tr class="memdesc:aa844eaa603d2381408aece6345f03e79"><td class="mdescLeft"> </td><td class="mdescRight">Time spent processing the child rows. <a href="#aa844eaa603d2381408aece6345f03e79">More...</a><br/></td></tr> |
| <tr class="separator:aa844eaa603d2381408aece6345f03e79"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>Evaluates analytic functions with a single pass over input rows. It is assumed that the input has already been sorted on all of the partition exprs and then the order by exprs. If there is no order by clause or partition clause, the input is unsorted. Uses a <a class="el" href="classimpala_1_1BufferedTupleStream.html" title="The underlying memory management is done by the BufferedBlockMgr. ">BufferedTupleStream</a> to buffer input rows which are returned in a streaming fashion as entire row batches of output are ready to be returned, though in some cases the entire input must actually be consumed to produce any output rows. The output row is composed of the tuples from the child node followed by a single result tuple that holds the values of the evaluated analytic functions (one slot per analytic function). When enough input rows have been consumed to produce the results of all analytic functions for one or more rows (e.g. because the order by values are different for a RANGE window), the results of all the analytic functions for those rows are produced in a result tuple by calling GetValue()/Finalize() on the evaluators and storing the tuple in result_tuples_. Input row batches are fetched from the <a class="el" href="classimpala_1_1BufferedTupleStream.html" title="The underlying memory management is done by the BufferedBlockMgr. ">BufferedTupleStream</a>, copied into output row batches, and the associated result tuple is set in each corresponding row. Result tuples may apply to many rows (e.g. an arbitrary number or an entire partition) so result_tuples_ stores a pair of the stream index (the last row in the stream it applies to) and the tuple. Input rows are consumed in a streaming fashion until enough input has been consumed in order to produce enough output rows. In some cases, this may mean that only a single input batch is needed to produce the results for an output batch, e.g. "SELECT RANK OVER (ORDER BY unique_col) ... ", but in other cases, an arbitrary number of rows may need to be buffered before result rows can be produced, e.g. if multiple rows have the same values for the order by exprs. The number of buffered rows may be an entire partition or even the entire input. Therefore, the output rows are buffered and may spill to disk via the <a class="el" href="classimpala_1_1BufferedTupleStream.html" title="The underlying memory management is done by the BufferedBlockMgr. ">BufferedTupleStream</a>. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00058">58</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| </div><h2 class="groupheader">Member Enumeration Documentation</h2> |
| <a class="anchor" id="a124e80e62c2bac34f196c8e8a3de547f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">enum <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a124e80e62c2bac34f196c8e8a3de547f">impala::AnalyticEvalNode::AnalyticFnScope</a></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>The scope over which analytic functions are evaluated. Functions are either evaluated over a window (specified by a TAnalyticWindow) or an entire partition. This is used to avoid more complex logic where we often branch based on these cases, e.g. whether or not there is a window (i.e. no window = PARTITION) is stored separately from the window type (assuming there is a window). </p> |
| <table class="fieldtable"> |
| <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a124e80e62c2bac34f196c8e8a3de547fab461aab8c1d6015d8c39e0422711d68f"></a>PARTITION</em> </td><td class="fielddoc"> |
| <p>Analytic functions are evaluated over an entire partition (or the entire data set if no partition clause was specified). Every row within a partition is added to curr_tuple_ and buffered in the input_stream_. Once all rows in a partition have been consumed, a single result tuple is added to result_tuples_ for all rows in that partition. </p> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a124e80e62c2bac34f196c8e8a3de547face0a5e1a113c890a4269d11ec6ce11e0"></a>RANGE</em> </td><td class="fielddoc"> |
| <p>Functions are evaluated over windows specified with range boundaries. Currently only supports the 'default window', i.e. UNBOUNDED PRECEDING to CURRENT ROW. In this case, when the values of the order by expressions change between rows a result tuple is added to result_tuples_ for the previous rows with the same values for the order by expressions. This happens in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#ad5a8e128e4ab3f19283f4e13c69ea657">TryAddResultTupleForPrevRow()</a> because we determine if the order by expression values changed between the previous and current row. </p> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a124e80e62c2bac34f196c8e8a3de547fa402e54776e22954037dcfa0671f943a3"></a>ROWS</em> </td><td class="fielddoc"> |
| <p>Functions are evaluated over windows specified with rows boundaries. A result tuple is added for every input row (except for some cases where the window extends before or after the partition). When the end boundary is offset from the current row, input rows are consumed and result tuples are produced for the associated preceding or following row. When the start boundary is offset from the current row, the first tuple (i.e. the input to the analytic functions) from the input rows are buffered in window_tuples_ because they must later be removed from the window (by calling <a class="el" href="classimpala_1_1AggFnEvaluator.html#a986454bf6bf30e110cfbf6d2ba5ba67c">AggFnEvaluator::Remove()</a> with the expired tuple to remove it from the current row). When either the start or end boundaries are offset from the current row, there is special casing around partition boundaries. </p> |
| </td></tr> |
| </table> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00081">81</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a class="anchor" id="a05864b508664b0b928dff0fd8532124a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">impala::AnalyticEvalNode::AnalyticEvalNode </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> * </td> |
| <td class="paramname"><em>pool</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const TPlanNode & </td> |
| <td class="paramname"><em>tnode</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> & </td> |
| <td class="paramname"><em>descs</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00030">30</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8h_source.html#l00196">buffered_tuple_desc_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00236">DebugWindowString()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="descriptors_8cc_source.html#l00437">impala::DescriptorTbl::GetTupleDescriptor()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00087">PARTITION</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00096">RANGE</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00108">ROWS</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00220">rows_end_offset_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00219">rows_start_offset_</a>, <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a class="anchor" id="a19340582202dd61e0b028c28efa5490a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ExecNode::AddExprCtxsToFree </td> |
| <td>(</td> |
| <td class="paramtype">const std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > & </td> |
| <td class="paramname"><em>ctxs</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00410">impala::ExecNode::AddExprCtxsToFree()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="afa7de6fd3a4f1580884680c35b9b8804"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ExecNode::AddExprCtxsToFree </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="classimpala_1_1SortExecExprs.html">SortExecExprs</a> & </td> |
| <td class="paramname"><em>sort_exec_exprs</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00410">410</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="classimpala_1_1ExecNode.html#a19340582202dd61e0b028c28efa5490a">impala::ExecNode::AddExprCtxsToFree()</a>, <a class="el" href="sort-exec-exprs_8h_source.html#l00055">impala::SortExecExprs::lhs_ordering_expr_ctxs()</a>, <a class="el" href="sort-exec-exprs_8h_source.html#l00059">impala::SortExecExprs::rhs_ordering_expr_ctxs()</a>, and <a class="el" href="sort-exec-exprs_8h_source.html#l00050">impala::SortExecExprs::sort_tuple_slot_expr_ctxs()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a4ad378d275c91637f12ca7fa742d59db"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ExecNode::AddExprCtxToFree </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * </td> |
| <td class="paramname"><em>ctx</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Add an <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> to have its local allocations freed by <a class="el" href="classimpala_1_1ExecNode.html#ab8f2832c6a5487aa8168b2a7d65773ee">QueryMaintenance()</a>. Exprs that are evaluated in the main execution thread should be added. Exprs evaluated in a separate thread are generally not safe to add, since a local allocation may be freed while it's being used. Rather than using this mechanism, threads should call FreeLocalAllocations() on local ExprContexts periodically. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00276">276</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00286">impala::ExecNode::expr_ctxs_to_free_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a432c79c755ae28bb999293f05f3513f7"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::AnalyticEvalNode::AddResultTuple </td> |
| <td>(</td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>stream_idx</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Produces a result tuple with analytic function results by calling GetValue() or Finalize() for curr_tuple_ on the evaluators_. The result tuple is stored in result_tuples_ with the index into input_stream_ specified by stream_idx. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00337">337</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="descriptors_8h_source.html#l00300">impala::TupleDescriptor::byte_size()</a>, <a class="el" href="tuple_8h_source.html#l00051">impala::Tuple::Create()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00289">curr_tuple_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00269">curr_tuple_pool_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00236">fn_ctxs_</a>, <a class="el" href="agg-fn-evaluator_8h_source.html#l00256">impala::AggFnEvaluator::GetValue()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00253">last_result_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00191">result_tuple_desc_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00250">result_tuples_</a>, and <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00364">TryAddResultTupleForCurrRow()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00350">TryAddResultTupleForPrevRow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a1e6d259f78ba621c98890a7c9c4481b2"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::AddRow </td> |
| <td>(</td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>stream_idx</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </td> |
| <td class="paramname"><em>row</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Adds the row to the evaluators and the tuple stream. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00306">306</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="agg-fn-evaluator_8h_source.html#l00238">impala::AggFnEvaluator::Add()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00261">child_tuple_desc_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00297">curr_partition_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00289">curr_tuple_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00269">curr_tuple_pool_</a>, <a class="el" href="tuple_8cc_source.html#l00034">impala::Tuple::DeepCopy()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00236">fn_ctxs_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="tuple-row_8h_source.html#l00030">impala::TupleRow::GetTuple()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00322">input_stream_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00108">ROWS</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00219">rows_start_offset_</a>, <a class="el" href="compiler-util_8h_source.html#l00033">UNLIKELY</a>, <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>, <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00260">window_tuples_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a05e056b5d11b187a1d31723c7d1592eb"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ExecNode::AddRuntimeExecOption </td> |
| <td>(</td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>option</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Appends option to 'runtime_exec_options_'. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00188">188</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="runtime-profile_8cc_source.html#l00406">impala::RuntimeProfile::AddInfoString()</a>, <a class="el" href="exec-node_8h_source.html#l00238">impala::ExecNode::exec_options_lock_</a>, <a class="el" href="exec-node_8h_source.html#l00239">impala::ExecNode::runtime_exec_options_</a>, and <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00400">impala::PartitionedHashJoinNode::AttachProbeFilters()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::Open()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">impala::HdfsScanNode::StopAndFinalizeCounters()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a1fb77c5926ec8ad015f153aabb190237"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a>* impala::ExecNode::child </td> |
| <td>(</td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>i</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00241">241</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00133">impala::CrossJoinNode::BuildListDebugString()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00136">impala::BlockingJoinNode::BuildSideThread()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00462">impala::HashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">impala::PartitionedHashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00222">impala::BlockingJoinNode::GetLeftChildRowString()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00429">impala::PartitionedAggregationNode::Partition::InitStreams()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">impala::PartitionedHashJoinNode::NextProbeRowBatch()</a>, <a class="el" href="select-node_8cc_source.html#l00042">impala::SelectNode::Open()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00107">impala::UnionNode::OpenCurrentChild()</a>, <a class="el" href="select-node_8cc_source.html#l00034">impala::SelectNode::Prepare()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00525">ProcessChildBatches()</a>, and <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a0ac02b87b85310e0a3771e308cbd621f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::AnalyticEvalNode::Close </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p><a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> will get called for every exec node, regardless of what else is called and the status of these calls (i.e. <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1949c18b119c8ec046ef9b231a38a22b">Prepare()</a> may never have been called, or <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1949c18b119c8ec046ef9b231a38a22b">Prepare()</a>/Open()/GetNext() returned with an error). <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> releases all resources that were allocated in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#adbffbcca3ddea45d2421e16f0a864750">Open()</a>/GetNext(), even if the latter ended with an error. <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> can be called if the node has been prepared or the node is closed. The default implementation updates runtime profile counters and calls <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> on the children. Subclasses should check if the node has already been closed (<a class="el" href="classimpala_1_1ExecNode.html#a467751b7182365c83e867dc3d50b43e2">is_closed()</a>), then close themselves, then call the base <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a>. Nodes that are using tuples returned by a child may call <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> on their children before their own <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> if the child node has returned eos. It is only safe to call <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> on the child node while the parent node is still returning rows if the parent node fully materializes the child's input. </p> |
| |
| <p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#a726e2aca524ace8e4c043377e621285a">impala::ExecNode</a>.</p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00738">738</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="expr-context_8cc_source.html#l00067">impala::ExprContext::Close()</a>, <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00309">curr_child_batch_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00289">curr_tuple_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00269">curr_tuple_pool_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00294">dummy_result_tuple_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00236">fn_ctxs_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00322">input_stream_</a>, <a class="el" href="exec-node_8h_source.html#l00242">impala::ExecNode::is_closed()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00325">mem_pool_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00209">order_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00205">partition_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00308">prev_child_batch_</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00270">prev_tuple_pool_</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a64bf8cb31a57b9d6dc3f5cd60066a686"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">Function * impala::ExecNode::CodegenEvalConjuncts </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const std::vector< <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * > & </td> |
| <td class="paramname"><em>conjunct_ctxs</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>name</em> = <code>"EvalConjuncts"</code> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns a codegen'd version of <a class="el" href="classimpala_1_1ExecNode.html#a48ec693b9eb748682b58479751812f08">EvalConjuncts()</a>, or NULL if the function couldn't be codegen'd. The codegen'd version uses inlined, codegen'd GetBooleanVal() functions. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00452">452</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="llvm-codegen_8h_source.html#l00171">impala::LlvmCodeGen::FnPrototype::AddArgument()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00214">impala::LlvmCodeGen::context()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00148">impala::CodegenAnyVal::CreateCallWrapped()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00381">impala::LlvmCodeGen::false_value()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00596">impala::LlvmCodeGen::FinalizeFunction()</a>, <a class="el" href="runtime-state_8cc_source.html#l00312">impala::RuntimeState::GetCodegen()</a>, <a class="el" href="status_8cc_source.html#l00184">impala::Status::GetDetail()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00171">impala::CodegenAnyVal::GetIsNull()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00312">impala::LlvmCodeGen::GetType()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00258">impala::CodegenAnyVal::GetVal()</a>, <a class="el" href="tuple-row_8h_source.html#l00076">impala::TupleRow::LLVM_CLASS_NAME</a>, <a class="el" href="expr-context_8h_source.html#l00126">impala::ExprContext::LLVM_CLASS_NAME</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00380">impala::LlvmCodeGen::true_value()</a>, <a class="el" href="exec-node_8h_source.html#l00155">impala::ExecNode::type()</a>, <a class="el" href="types_8h_source.html#l00030">impala::TYPE_BOOLEAN</a>, <a class="el" href="types_8h_source.html#l00033">impala::TYPE_INT</a>, and <a class="el" href="logging_8h_source.html#l00057">VLOG_QUERY</a>.</p> |
| |
| <p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00885">impala::HdfsAvroScanner::CodegenDecodeAvroData()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00559">impala::HashJoinNode::CodegenProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">impala::PartitionedHashJoinNode::CodegenProcessProbeBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a79a78df488ddcb12e0150b919efc059a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ExecNode::CollectNodes </td> |
| <td>(</td> |
| <td class="paramtype">TPlanNodeType::type </td> |
| <td class="paramname"><em>node_type</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">std::vector< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > * </td> |
| <td class="paramname"><em>nodes</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Collect all nodes of given 'node_type' that are part of this subtree, and return in 'nodes'. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00359">359</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>, and <a class="el" href="exec-node_8h_source.html#l00210">impala::ExecNode::type_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00366">impala::ExecNode::CollectScanNodes()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aeaf6b6a9dff1fd661e63258272c62b96"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ExecNode::CollectScanNodes </td> |
| <td>(</td> |
| <td class="paramtype">std::vector< <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * > * </td> |
| <td class="paramname"><em>nodes</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Collect all scan node types. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00366">366</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8cc_source.html#l00359">impala::ExecNode::CollectNodes()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ad21c25a63f7a11127082710941d23654"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const std::vector<<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*>& impala::ExecNode::conjunct_ctxs </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00152">152</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00212">impala::ExecNode::conjunct_ctxs_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00956">impala::HdfsScanNode::ComputeSlotMaterializationOrder()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">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="af055b7d9d3de849cbde01b12c608ee38"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::CreateNode </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> * </td> |
| <td class="paramname"><em>pool</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const TPlanNode & </td> |
| <td class="paramname"><em>tnode</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> & </td> |
| <td class="paramname"><em>descs</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> ** </td> |
| <td class="paramname"><em>node</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Create a single exec node derived from thrift node; place exec node in 'pool'. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00260">260</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aad99835d1957684b656d5f2d4427b5eb"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::CreateTree </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> * </td> |
| <td class="paramname"><em>pool</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const TPlan & </td> |
| <td class="paramname"><em>plan</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> & </td> |
| <td class="paramname"><em>descs</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> ** </td> |
| <td class="paramname"><em>root</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Creates exec node tree from list of nodes contained in plan via depth-first traversal. All nodes are placed in pool. Returns error if 'plan' is corrupted, otherwise success. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00199">199</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, and <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3d97c1b8247ed300dd82db66f38e7b00"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::CreateTreeHelper </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> * </td> |
| <td class="paramname"><em>pool</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const std::vector< TPlanNode > & </td> |
| <td class="paramname"><em>tnodes</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> & </td> |
| <td class="paramname"><em>descs</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * </td> |
| <td class="paramname"><em>parent</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int * </td> |
| <td class="paramname"><em>node_idx</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> ** </td> |
| <td class="paramname"><em>root</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00218">218</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="runtime-profile_8cc_source.html#l00368">impala::RuntimeProfile::AddChild()</a>, <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>, <a class="el" href="exec-node_8cc_source.html#l00260">impala::ExecNode::CreateNode()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, and <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00199">impala::ExecNode::CreateTree()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="afb77eb6a6fcc29f4257e2b5782159a17"></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::AnalyticEvalNode::DebugEvaluatedRowsString </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aad3446182c8013f53e4a148002b541c9"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">string impala::AnalyticEvalNode::DebugStateString </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classbool.html">bool</a> </td> |
| <td class="paramname"><em>detailed</em> = <code>false</code></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Debug string containing current state. If 'detailed', per-row state is included. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00264">264</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8h_source.html#l00297">curr_partition_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00322">input_stream_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00253">last_result_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00250">result_tuples_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00108">ROWS</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00260">window_tuples_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a1af2ab85a2faabf4e3ed8ab3e03a114f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::AnalyticEvalNode::DebugString </td> |
| <td>(</td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>indentation_level</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">std::stringstream * </td> |
| <td class="paramname"><em>out</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Recursive helper method for generating a string for <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1af2ab85a2faabf4e3ed8ab3e03a114f">DebugString()</a>. Implementations should call DebugString(int, std::stringstream) on their children. Input parameters: indentation_level: Current level in plan tree. Output parameters: out: Stream to accumulate debug string. </p> |
| |
| <p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#ad01139ec9ccb2cdb2069995bc282593b">impala::ExecNode</a>.</p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00766">766</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="agg-fn-evaluator_8cc_source.html#l00518">impala::AggFnEvaluator::DebugString()</a>, <a class="el" href="exec-node_8cc_source.html#l00345">impala::ExecNode::DebugString()</a>, <a class="el" href="expr_8cc_source.html#l00385">impala::Expr::DebugString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00236">DebugWindowString()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00209">order_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00205">partition_by_eq_expr_ctx_</a>, and <a class="el" href="expr-context_8h_source.html#l00105">impala::ExprContext::root()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a56de50f3c92483ba38f6e42ab19cc0a2"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">string impala::ExecNode::DebugString </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Returns a string representation in DFS order of the plan rooted at this. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00345">345</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00130">impala::SortNode::DebugString()</a>, <a class="el" href="topn-node_8cc_source.html#l00184">impala::TopNNode::DebugString()</a>, <a class="el" href="exchange-node_8cc_source.html#l00207">impala::ExchangeNode::DebugString()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00401">impala::AggregationNode::DebugString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00766">DebugString()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00716">impala::PartitionedAggregationNode::DebugString()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00212">impala::BlockingJoinNode::DebugString()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae35a2fb648900f7d2ea4d94d64d55be1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">string impala::AnalyticEvalNode::DebugWindowString </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Debug string containing the window definition. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00236">236</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8cc_source.html#l00216">impala::DebugWindowBoundString()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00087">PARTITION</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00096">RANGE</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00030">AnalyticEvalNode()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00766">DebugString()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a48ec693b9eb748682b58479751812f08"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classbool.html">bool</a> impala::ExecNode::EvalConjuncts </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *const * </td> |
| <td class="paramname"><em>ctxs</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>num_ctxs</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </td> |
| <td class="paramname"><em>row</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Evaluate ExprContexts over row. Returns true if all exprs return true. TODO: This doesn't use the vector<Expr*> signature because I haven't figured out how to deal with declaring a templated std:vector type in IR </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00393">393</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="expr-context_8cc_source.html#l00310">impala::ExprContext::GetBooleanVal()</a>, <a class="el" href="udf_8h_source.html#l00359">impala_udf::AnyVal::is_null</a>, and <a class="el" href="udf_8h_source.html#l00364">impala_udf::BooleanVal::val</a>.</p> |
| |
| <p>Referenced by <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00266">impala::HdfsScanner::EvalConjuncts()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00032">EvalOtherJoinConjuncts()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00033">EvalOtherJoinConjuncts2()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">impala::PartitionedHashJoinNode::EvaluateNullProbe()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a310d3a6b28f5bb1046a90ef8995ffb12"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::ExecDebugAction </td> |
| <td>(</td> |
| <td class="paramtype">TExecNodePhase::type </td> |
| <td class="paramname"><em>phase</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Executes debug_action_ if phase matches debug_phase_. 'phase' must not be INVALID. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00378">378</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="status_8h_source.html#l00088">impala::Status::CANCELLED</a>, <a class="el" href="exec-node_8h_source.html#l00220">impala::ExecNode::debug_action_</a>, <a class="el" href="exec-node_8h_source.html#l00219">impala::ExecNode::debug_phase_</a>, <a class="el" href="runtime-state_8h_source.html#l00235">impala::RuntimeState::is_cancelled()</a>, and <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>.</p> |
| |
| <p>Referenced by <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exec-node_8cc_source.html#l00154">impala::ExecNode::Open()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="abe940aa2d7da783c4e8c65f0af22ad8f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>* impala::ExecNode::expr_mem_tracker </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00163">163</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00233">impala::ExecNode::expr_mem_tracker_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00429">impala::PartitionedAggregationNode::Partition::InitStreams()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa0cb1ccfdc50eaafb140ac9aad1c4b36"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::GetNext </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> * </td> |
| <td class="paramname"><em>row_batch</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classbool.html">bool</a> * </td> |
| <td class="paramname"><em>eos</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Retrieves rows and returns them via row_batch. Sets eos to true if subsequent calls will not retrieve any more rows. Data referenced by any tuples returned in row_batch must not be overwritten by the callee until <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> is called. The memory holding that data can be returned via row_batch's tuple_data_pool (in which case it may be deleted by the caller) or held on to by the callee. The row_batch, including its tuple_data_pool, will be destroyed by the caller at some point prior to the final <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> call. In other words, if the memory holding the tuple data will be referenced by the callee in subsequent <a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa0cb1ccfdc50eaafb140ac9aad1c4b36">GetNext()</a> calls, it must <em>not</em> be attached to the row_batch's tuple_data_pool. Caller must not be holding any io buffers. This will cause deadlock. TODO: <a class="el" href="classimpala_1_1AggregationNode.html">AggregationNode</a> and <a class="el" href="classimpala_1_1HashJoinNode.html">HashJoinNode</a> cannot be "re-opened" yet. </p> |
| |
| <p>Implements <a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">impala::ExecNode</a>.</p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00696">696</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="mem-pool_8cc_source.html#l00161">impala::MemPool::AcquireData()</a>, <a class="el" href="runtime-profile_8h_source.html#l00056">COUNTER_SET</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00309">curr_child_batch_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="exec-node_8cc_source.html#l00378">impala::ExecNode::ExecDebugAction()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="exec-node_8h_source.html#l00223">impala::ExecNode::num_rows_returned_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00276">prev_pool_last_result_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00282">prev_pool_last_window_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00270">prev_tuple_pool_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00525">ProcessChildBatches()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00781">QueryMaintenance()</a>, <a class="el" href="exec-node_8h_source.html#l00159">impala::ExecNode::ReachedLimit()</a>, <a class="el" href="runtime-state_8h_source.html#l00384">RETURN_IF_CANCELLED</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="exec-node_8h_source.html#l00157">impala::ExecNode::rows_returned()</a>, <a class="el" href="exec-node_8h_source.html#l00226">impala::ExecNode::rows_returned_counter_</a>, <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="row-batch_8h_source.html#l00148">impala::RowBatch::tuple_data_pool()</a>, <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00260">window_tuples_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00525">ProcessChildBatches()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a17eeb830a6e55da731d2291f8ee008d3"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::GetNextOutputBatch </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> * </td> |
| <td class="paramname"><em>row_batch</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classbool.html">bool</a> * </td> |
| <td class="paramname"><em>eos</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns a batch of output rows from input_stream_ with the analytic function results (from result_tuples_) set as the last tuple. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00634">634</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="row-batch_8h_source.html#l00100">impala::RowBatch::AddRow()</a>, <a class="el" href="row-batch_8h_source.html#l00120">impala::RowBatch::AtCapacity()</a>, <a class="el" href="row-batch_8h_source.html#l00216">impala::RowBatch::capacity()</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="row-batch_8h_source.html#l00109">impala::RowBatch::CommitLastRow()</a>, <a class="el" href="exec-node_8h_source.html#l00212">impala::ExecNode::conjunct_ctxs_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00269">curr_tuple_pool_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="exec-node_8cc_source.html#l00393">impala::ExecNode::EvalConjuncts()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00331">evaluation_timer_</a>, <a class="el" href="row-batch_8h_source.html#l00140">impala::RowBatch::GetRow()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00322">input_stream_</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="exec-node_8h_source.html#l00223">impala::ExecNode::num_rows_returned_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="exec-node_8h_source.html#l00159">impala::ExecNode::ReachedLimit()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00250">result_tuples_</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="tuple-row_8h_source.html#l00034">impala::TupleRow::SetTuple()</a>, <a class="el" href="descriptors_8h_source.html#l00412">impala::RowDescriptor::tuple_descriptors()</a>, <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>, and <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3e2d144b60f904f6b1f3219b9471aad3"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int impala::ExecNode::GetNodeIdFromProfile </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> * </td> |
| <td class="paramname"><em>p</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Extract node id from p-><a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name()</a>. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00062">62</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="runtime-profile_8h_source.html#l00493">impala::RuntimeProfile::metadata()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a2088a36bc4bb4e0c3c7c1444198b76dd"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int impala::ExecNode::id </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00154">154</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00030">AnalyticEvalNode()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00087">impala::HdfsScanner::InitializeWriteTuplesFn()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::InitNewRange()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00922">impala::PartitionedAggregationNode::MoveHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">impala::PartitionedHashJoinNode::NodeDebugString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">impala::HdfsScanNode::Open()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">impala::HdfsScanNode::ScannerThread()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00364">TryAddResultTupleForCurrRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00350">TryAddResultTupleForPrevRow()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8b8b941f4543bc8748724b6be46a96e2"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::Init </td> |
| <td>(</td> |
| <td class="paramtype">const TPlanNode & </td> |
| <td class="paramname"><em>tnode</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Initializes this object from the thrift tnode desc. The subclass should do any initialization that can fail in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a8b8b941f4543bc8748724b6be46a96e2">Init()</a> rather than the ctor. If overridden in subclass, must first call superclass's <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a8b8b941f4543bc8748724b6be46a96e2">Init()</a>. </p> |
| |
| <p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#a13f30c4259774ce6896fa5c1d5d86966">impala::ExecNode</a>.</p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00094">94</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="agg-fn-evaluator_8cc_source.html#l00064">impala::AggFnEvaluator::Create()</a>, <a class="el" href="expr_8cc_source.html#l00129">impala::Expr::CreateExprTree()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="exec-node_8cc_source.html#l00124">impala::ExecNode::Init()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00227">is_lead_fn_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00209">order_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00087">PARTITION</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00205">partition_by_eq_expr_ctx_</a>, <a class="el" href="exec-node_8h_source.html#l00211">impala::ExecNode::pool_</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3003e3e53bfa81d624a842da6da5ad0a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::AnalyticEvalNode::InitNextPartition </td> |
| <td>(</td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>stream_idx</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Initializes state at the start of a new partition. stream_idx is the index of the current input row from input_stream_. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00435">435</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="descriptors_8h_source.html#l00300">impala::TupleDescriptor::byte_size()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00297">curr_partition_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00289">curr_tuple_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00294">dummy_result_tuple_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="agg-fn-evaluator_8h_source.html#l00252">impala::AggFnEvaluator::Finalize()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00232">first_val_null_offset_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00236">fn_ctxs_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00231">has_first_val_null_offset_</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="tuple_8h_source.html#l00058">impala::Tuple::Init()</a>, <a class="el" href="agg-fn-evaluator_8cc_source.html#l00314">impala::AggFnEvaluator::Init()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00322">input_stream_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00188">intermediate_tuple_desc_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00253">last_result_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00250">result_tuples_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00108">ROWS</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00220">rows_end_offset_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>, <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00260">window_tuples_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="adf07b8ec102e4bc7cc3707157c8f0e99"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ExecNode::InitRuntimeProfile </td> |
| <td>(</td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>name</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00371">371</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>, <a class="el" href="exec-node_8h_source.html#l00211">impala::ExecNode::pool_</a>, and <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00106">impala::ExecNode::ExecNode()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a467751b7182365c83e867dc3d50b43e2"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classbool.html">bool</a> impala::ExecNode::is_closed </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00242">242</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00283">impala::ExecNode::is_closed_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="select-node_8cc_source.html#l00115">impala::SelectNode::Close()</a>, <a class="el" href="sort-node_8cc_source.html#l00123">impala::SortNode::Close()</a>, <a class="el" href="union-node_8cc_source.html#l00186">impala::UnionNode::Close()</a>, <a class="el" href="topn-node_8cc_source.html#l00136">impala::TopNNode::Close()</a>, <a class="el" href="exchange-node_8cc_source.html#l00098">impala::ExchangeNode::Close()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00277">impala::HBaseScanNode::Close()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00052">impala::CrossJoinNode::Close()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00145">impala::HashJoinNode::Close()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00278">impala::AggregationNode::Close()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00128">impala::BlockingJoinNode::Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">impala::PartitionedHashJoinNode::Close()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00380">impala::PartitionedAggregationNode::Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">impala::HdfsScanNode::Close()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00570">impala::PartitionedAggregationNode::Partition::Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00248">impala::PartitionedHashJoinNode::Partition::Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01200">impala::PartitionedHashJoinNode::ReserveTupleStreamBlocks()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">impala::PartitionedHashJoinNode::SpillPartition()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00872">impala::PartitionedAggregationNode::SpillPartition()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00235">impala::PartitionedHashJoinNode::Partition::~Partition()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa4941adc86040c00d0fe1b52bb1c0221"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual <a class="el" href="classbool.html">bool</a> impala::ExecNode::IsScanNode </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Reimplemented in <a class="el" href="classimpala_1_1ScanNode.html#adbdf97ab757ffe5ccdf37552d946d280">impala::ScanNode</a>.</p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00251">251</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8083cea2b4b6646c80d8d87a0522074b"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int64_t impala::ExecNode::limit </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00158">158</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00222">impala::ExecNode::limit_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, and <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="abd7922a579e4adc353756849a0f45b48"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>* impala::ExecNode::mem_tracker </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00162">162</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00230">impala::ExecNode::mem_tracker_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00706">impala::HdfsScanNode::EnoughMemoryForScannerThread()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">impala::HdfsScanNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00107">impala::UnionNode::OpenCurrentChild()</a>, <a class="el" href="select-node_8cc_source.html#l00034">impala::SelectNode::Prepare()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00056">impala::HBaseScanNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">impala::PartitionedHashJoinNode::PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00849">impala::PartitionedAggregationNode::ProcessStream()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">impala::HdfsRCFileScanner::ReadRowGroup()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>, <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a563c5a775c005df8aa319ed1520e4835"></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::AnalyticEvalNode::NumOutputRowsReady </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Gets the number of rows that are ready to be returned by subsequent calls to <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a17eeb830a6e55da731d2291f8ee008d3">GetNextOutputBatch()</a>. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00679">679</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8h_source.html#l00322">input_stream_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00253">last_result_idx_</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00250">result_tuples_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00525">ProcessChildBatches()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="adbffbcca3ddea45d2421e16f0a864750"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::Open </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Performs any preparatory work prior to calling <a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa0cb1ccfdc50eaafb140ac9aad1c4b36">GetNext()</a>. Caller must not be holding any io buffers. This will cause deadlock. If overridden in subclass, must first call superclass's <a class="el" href="classimpala_1_1AnalyticEvalNode.html#adbffbcca3ddea45d2421e16f0a864750">Open()</a>. If a parent exec node adds slot filters (see <a class="el" href="classimpala_1_1RuntimeState.html#a7ec83e8d4a3c913dce557835c01c984c">RuntimeState::AddBitmapFilter()</a>), they need to be added before calling <a class="el" href="classimpala_1_1AnalyticEvalNode.html#adbffbcca3ddea45d2421e16f0a864750">Open()</a> on the child that will consume them. </p> |
| |
| <p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#a0e9b5636a80c8fe8c2ab31990c84ff51">impala::ExecNode</a>.</p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00166">166</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="runtime-state_8h_source.html#l00098">impala::RuntimeState::batch_size()</a>, <a class="el" href="runtime-state_8h_source.html#l00194">impala::RuntimeState::block_mgr()</a>, <a class="el" href="descriptors_8h_source.html#l00300">impala::TupleDescriptor::byte_size()</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00312">client_</a>, <a class="el" href="tuple_8h_source.html#l00051">impala::Tuple::Create()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00309">curr_child_batch_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00289">curr_tuple_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00294">dummy_result_tuple_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00232">first_val_null_offset_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00236">fn_ctxs_</a>, <a class="el" href="gen__ir__descriptions_8py_source.html#l00219">gen_ir_descriptions::fn_name</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00231">has_first_val_null_offset_</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="agg-fn-evaluator_8cc_source.html#l00314">impala::AggFnEvaluator::Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00322">input_stream_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00188">intermediate_tuple_desc_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00325">mem_pool_</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="expr-context_8cc_source.html#l00056">impala::ExprContext::Open()</a>, <a class="el" href="exec-node_8cc_source.html#l00154">impala::ExecNode::Open()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00209">order_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00205">partition_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00308">prev_child_batch_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00781">QueryMaintenance()</a>, <a class="el" href="buffered-block-mgr_8cc_source.html#l00235">impala::BufferedBlockMgr::RegisterClient()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00191">result_tuple_desc_</a>, <a class="el" href="runtime-state_8h_source.html#l00384">RETURN_IF_CANCELLED</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>, <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>, <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, and <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a1949c18b119c8ec046ef9b231a38a22b"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::Prepare </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Sets up internal structures, etc., without doing any actual work. Must be called prior to <a class="el" href="classimpala_1_1AnalyticEvalNode.html#adbffbcca3ddea45d2421e16f0a864750">Open()</a>. Will only be called once in this node's lifetime. All code generation (adding functions to the <a class="el" href="classimpala_1_1LlvmCodeGen.html" title="LLVM code generator. This is the top level object to generate jitted code. ">LlvmCodeGen</a> object) must happen in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1949c18b119c8ec046ef9b231a38a22b">Prepare()</a>. Retrieving the jit compiled function pointer must happen in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#adbffbcca3ddea45d2421e16f0a864750">Open()</a>. If overridden in subclass, must first call superclass's <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1949c18b119c8ec046ef9b231a38a22b">Prepare()</a>. </p> |
| |
| <p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#a0ae75733979977dbd9e7270359631b3e">impala::ExecNode</a>.</p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00124">124</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <a class="el" href="runtime-profile_8h_source.html#l00050">ADD_TIMER</a>, <a class="el" href="exec-node_8h_source.html#l00276">impala::ExecNode::AddExprCtxToFree()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00196">buffered_tuple_desc_</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00201">child_tuple_cmp_row_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00261">child_tuple_desc_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00269">curr_tuple_pool_</a>, <a class="el" href="runtime-state_8h_source.html#l00093">impala::RuntimeState::desc_tbl()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00331">evaluation_timer_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="exec-node_8h_source.html#l00163">impala::ExecNode::expr_mem_tracker()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00236">fn_ctxs_</a>, <a class="el" href="descriptors_8h_source.html#l00306">impala::TupleDescriptor::id()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00188">intermediate_tuple_desc_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00325">mem_pool_</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="runtime-state_8h_source.html#l00092">impala::RuntimeState::obj_pool()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00209">order_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00205">partition_by_eq_expr_ctx_</a>, <a class="el" href="expr-context_8cc_source.html#l00047">impala::ExprContext::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00270">prev_tuple_pool_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00191">result_tuple_desc_</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>, <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>, <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="descriptors_8h_source.html#l00302">impala::TupleDescriptor::slots()</a>, and <a class="el" href="descriptors_8h_source.html#l00412">impala::RowDescriptor::tuple_descriptors()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8fe869c0d785bcee3f8d2be370d7e925"></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::AnalyticEvalNode::PrevRowCompare </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * </td> |
| <td class="paramname"><em>pred_ctx</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Evaluates the predicate pred_ctx over child_tuple_cmp_row_, which is a TupleRow* containing the previous row and the current row set during <a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae83988b11c6361d6ffed3c4651fb2ffe">ProcessChildBatch()</a>. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00518">518</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8h_source.html#l00201">child_tuple_cmp_row_</a>, <a class="el" href="expr-context_8cc_source.html#l00310">impala::ExprContext::GetBooleanVal()</a>, <a class="el" href="udf_8h_source.html#l00359">impala_udf::AnyVal::is_null</a>, and <a class="el" href="udf_8h_source.html#l00364">impala_udf::BooleanVal::val</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00350">TryAddResultTupleForPrevRow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae83988b11c6361d6ffed3c4651fb2ffe"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::ProcessChildBatch </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Evaluates analytic functions over curr_child_batch_. Each input row is passed to the evaluators and added to input_stream_ where they are stored until a tuple containing the results of the analytic functions for that row is ready to be returned. When enough rows have been processed so that results can be produced for one or more rows, a tuple containing those results are stored in result_tuples_. That tuple gets set in the associated output row(s) later in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a17eeb830a6e55da731d2291f8ee008d3">GetNextOutputBatch()</a>. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00548">548</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00201">child_tuple_cmp_row_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00309">curr_child_batch_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00297">curr_partition_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00269">curr_tuple_pool_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00331">evaluation_timer_</a>, <a class="el" href="tuple-row_8h_source.html#l00030">impala::TupleRow::GetTuple()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00328">input_eos_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00322">input_stream_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00253">last_result_idx_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00026">MAX_TUPLE_POOL_SIZE</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00209">order_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00205">partition_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00301">prev_input_row_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00276">prev_pool_last_result_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00282">prev_pool_last_window_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00270">prev_tuple_pool_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00518">PrevRowCompare()</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="tuple-row_8h_source.html#l00034">impala::TupleRow::SetTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00364">TryAddResultTupleForCurrRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00350">TryAddResultTupleForPrevRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>, <a class="el" href="compiler-util_8h_source.html#l00033">UNLIKELY</a>, <a class="el" href="logging_8h_source.html#l00058">VLOG_FILE</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00260">window_tuples_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00525">ProcessChildBatches()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ad682fc2359a1d739f06448e5ee8d4439"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::ProcessChildBatches </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Processes child batches (calling <a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae83988b11c6361d6ffed3c4651fb2ffe">ProcessChildBatch()</a>) until enough output rows are ready to return an output batch. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00525">525</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="runtime-state_8h_source.html#l00098">impala::RuntimeState::batch_size()</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00309">curr_child_batch_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00328">input_eos_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00679">NumOutputRowsReady()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00308">prev_child_batch_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00781">QueryMaintenance()</a>, <a class="el" href="runtime-state_8h_source.html#l00384">RETURN_IF_CANCELLED</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="af15cf540c4d2895f42f6708b83e77de4"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::QueryMaintenance </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Frees local allocations from evaluators_. </p> |
| |
| <p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#ab8f2832c6a5487aa8168b2a7d65773ee">impala::ExecNode</a>.</p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00781">781</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="expr-context_8cc_source.html#l00109">impala::ExprContext::FreeLocalAllocations()</a>, and <a class="el" href="exec-node_8cc_source.html#l00401">impala::ExecNode::QueryMaintenance()</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00525">ProcessChildBatches()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3ff26374466bc587eaa4c7d00b3e126a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classbool.html">bool</a> impala::ExecNode::ReachedLimit </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00159">159</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00222">impala::ExecNode::limit_</a>, and <a class="el" href="exec-node_8h_source.html#l00223">impala::ExecNode::num_rows_returned_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00805">impala::HdfsParquetScanner::AssembleRows()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00253">impala::HdfsTextScanner::FinishScanRange()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00161">impala::HdfsSequenceScanner::ProcessBlockCompressedScanRange()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00325">impala::HdfsTextScanner::ProcessRange()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00517">impala::HdfsAvroScanner::ProcessRange()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00271">impala::HdfsSequenceScanner::ProcessRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">impala::HdfsRCFileScanner::ProcessRange()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00547">impala::PlanFragmentExecutor::ReachedLimit()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a90efde191c894a4e3af24228ba1f6f6a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::AnalyticEvalNode::Reset </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> * </td> |
| <td class="paramname"><em>state</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Resets all data-specific state, returning this node to the state it was in after calling <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1949c18b119c8ec046ef9b231a38a22b">Prepare()</a> and before calling <a class="el" href="classimpala_1_1AnalyticEvalNode.html#adbffbcca3ddea45d2421e16f0a864750">Open()</a>. <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1949c18b119c8ec046ef9b231a38a22b">Prepare()</a> must have already been called before calling <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a90efde191c894a4e3af24228ba1f6f6a">Reset()</a>. <a class="el" href="classimpala_1_1AnalyticEvalNode.html#adbffbcca3ddea45d2421e16f0a864750">Open()</a> and <a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa0cb1ccfdc50eaafb140ac9aad1c4b36">GetNext()</a> may have optionally been called. <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> must not have been called. If overridden in a subclass, must call superclass's <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a90efde191c894a4e3af24228ba1f6f6a">Reset()</a> at the end. The default implementation calls <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a90efde191c894a4e3af24228ba1f6f6a">Reset()</a> on children. Note that this function may be called many times, so should be fast. For example, accumulated memory does not need to be freed on every call if it's expensive. </p> |
| |
| <p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#ad71c699df350036b9df84b9bc19934cd">impala::ExecNode</a>.</p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00733">733</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a83d178109785bd247a685ff18e6ee4fc"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::AnalyticEvalNode::ResetLeadFnSlots </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Resets the slots in current_tuple_ that store the intermedatiate results for lead(). This is necessary to produce the default value (set by <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a8b8b941f4543bc8748724b6be46a96e2">Init()</a>). </p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a467297b1704ae33db61ae61d3400c35f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a>& impala::ExecNode::row_desc </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00156">156</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00215">impala::ExecNode::row_descriptor_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00133">impala::CrossJoinNode::BuildListDebugString()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00462">impala::HashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00222">impala::BlockingJoinNode::GetLeftChildRowString()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00429">impala::PartitionedAggregationNode::Partition::InitStreams()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00107">impala::UnionNode::OpenCurrentChild()</a>, <a class="el" href="select-node_8cc_source.html#l00034">impala::SelectNode::Prepare()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00849">impala::PartitionedAggregationNode::ProcessStream()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00539">impala::PlanFragmentExecutor::row_desc()</a>, <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3f3a896c7e58304582acd34f662b4c72"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int64_t impala::ExecNode::rows_returned </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00157">157</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00223">impala::ExecNode::num_rows_returned_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00198">impala::HdfsSequenceScanner::ProcessDecompressedBlock()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ad062f28c78add1a869fffdab9419b09d"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>* impala::ExecNode::runtime_profile </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00161">161</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00136">impala::BlockingJoinNode::BuildSideThread()</a>, <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00429">impala::PartitionedAggregationNode::Partition::InitStreams()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">impala::HdfsScanNode::Open()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00620">impala::HdfsTextScanner::Prepare()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00056">impala::HBaseScanNode::Prepare()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00074">impala::BaseSequenceScanner::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00440">impala::HdfsParquetScanner::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a39054faeb49a0adeeabb256106f456af"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::ExecNode::SetDebugOptions </td> |
| <td>(</td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>node_id</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">TExecNodePhase::type </td> |
| <td class="paramname"><em>phase</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">TDebugAction::type </td> |
| <td class="paramname"><em>action</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * </td> |
| <td class="paramname"><em>tree</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set debug action for node with given id in 'tree'. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00332">332</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>, <a class="el" href="exec-node_8h_source.html#l00220">impala::ExecNode::debug_action_</a>, <a class="el" href="exec-node_8h_source.html#l00219">impala::ExecNode::debug_phase_</a>, and <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a65feb876863700f3bb5e33909a53684a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::AnalyticEvalNode::TryAddRemainingResults </td> |
| <td>(</td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>partition_idx</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>prev_partition_idx</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Adds additional result tuples at the end of a partition, e.g. if the end bound is FOLLOWING. partition_idx is the index into input_stream_ of the new partition, prev_partition_idx is the index of the previous partition. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00391">391</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00289">curr_tuple_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00236">fn_ctxs_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00227">is_lead_fn_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00253">last_result_idx_</a>, <a class="el" href="agg-fn-evaluator_8h_source.html#l00243">impala::AggFnEvaluator::Remove()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00108">ROWS</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00219">rows_start_offset_</a>, <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00260">window_tuples_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ac8dedfe38fcbc18a3ba1e67b46a764a1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::AnalyticEvalNode::TryAddResultTupleForCurrRow </td> |
| <td>(</td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>stream_idx</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </td> |
| <td class="paramname"><em>row</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Determines if there is a window ending at the current row, and if so, calls <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a432c79c755ae28bb999293f05f3513f7">AddResultTuple()</a> with the index of the current row in input_stream_. stream_idx is the index of the current input row from input_stream_. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00364">364</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00297">curr_partition_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00108">ROWS</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00220">rows_end_offset_</a>, <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ad5a8e128e4ab3f19283f4e13c69ea657"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::AnalyticEvalNode::TryAddResultTupleForPrevRow </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classbool.html">bool</a> </td> |
| <td class="paramname"><em>next_partition</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>stream_idx</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> * </td> |
| <td class="paramname"><em>row</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Determines if there is a window ending at the previous row, and if so, calls <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a432c79c755ae28bb999293f05f3513f7">AddResultTuple()</a> with the index of the previous row in input_stream_. next_partition indicates if the current row is the start of a new partition. stream_idx is the index of the current input row from input_stream_. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00350">350</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00209">order_by_eq_expr_ctx_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00518">PrevRowCompare()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00096">RANGE</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00108">ROWS</a>, <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="acb1c507cc8fe731c185b61914a05d22b"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void impala::AnalyticEvalNode::TryRemoveRowsBeforeWindow </td> |
| <td>(</td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>stream_idx</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Removes rows from curr_tuple_ (by calling <a class="el" href="classimpala_1_1AggFnEvaluator.html#a986454bf6bf30e110cfbf6d2ba5ba67c">AggFnEvaluator::Remove()</a>) that are no longer in the window (i.e. they are before the window start boundary). stream_idx is the index of the row in input_stream_ that is currently being processed in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae83988b11c6361d6ffed3c4651fb2ffe">ProcessChildBatch()</a>. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8cc_source.html#l00375">375</a> of file <a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a>.</p> |
| |
| <p>References <a class="el" href="analytic-eval-node_8h_source.html#l00297">curr_partition_idx_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00289">curr_tuple_</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00223">evaluators_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00236">fn_ctxs_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00214">fn_scope_</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="agg-fn-evaluator_8h_source.html#l00243">impala::AggFnEvaluator::Remove()</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00108">ROWS</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00220">rows_end_offset_</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00219">rows_start_offset_</a>, <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>, <a class="el" href="analytic-eval-node_8h_source.html#l00185">window_</a>, and <a class="el" href="analytic-eval-node_8h_source.html#l00260">window_tuples_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aef75c686c9c11e8fcb9b21cfa74c442d"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">TPlanNodeType::type impala::ExecNode::type </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00155">155</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>References <a class="el" href="exec-node_8h_source.html#l00210">impala::ExecNode::type_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00452">impala::ExecNode::CodegenEvalConjuncts()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l01241">impala::PartitionedAggregationNode::CodegenUpdateTuple()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Data Documentation</h2> |
| <a class="anchor" id="a5625c8023bf7a84032cbd0e1de1d2fe2"></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_1TupleDescriptor.html">TupleDescriptor</a>* impala::AnalyticEvalNode::buffered_tuple_desc_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p><a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> descriptor of the buffered tuple (identical to the input child tuple, which is assumed to come from a single <a class="el" href="classimpala_1_1SortNode.html">SortNode</a>). NULL if both partition_exprs and order_by_exprs are empty. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00196">196</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00030">AnalyticEvalNode()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a12f0c45aedc1657355570f6500d1489b"></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::AnalyticEvalNode::child_tuple_cmp_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>TupleRow* composed of the first child tuple and the buffered tuple, used by partition_by_eq_expr_ctx_ and order_by_eq_expr_ctx_. Set in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a1949c18b119c8ec046ef9b231a38a22b">Prepare()</a> if buffered_tuple_desc_ is not NULL, allocated from mem_pool_. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00201">201</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00518">PrevRowCompare()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa0f216a10b3993c9f67a6b9d9f4af35b"></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_1TupleDescriptor.html">TupleDescriptor</a>* impala::AnalyticEvalNode::child_tuple_desc_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00261">261</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ab5b4aff8e7b124468f2b61ca63b87ab5"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::vector<<a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a>*> impala::ExecNode::children_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00214">214</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="exec-node_8cc_source.html#l00359">impala::ExecNode::CollectNodes()</a>, <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00294">impala::HBaseScanNode::DebugString()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00088">impala::UnionNode::Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00107">impala::UnionNode::OpenCurrentChild()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00849">impala::PartitionedAggregationNode::ProcessStream()</a>, <a class="el" href="exec-node_8cc_source.html#l00159">impala::ExecNode::Reset()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a09ddce3fc6bcb1a79b2bce3213ae6261"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="structimpala_1_1BufferedBlockMgr_1_1Client.html">BufferedBlockMgr::Client</a>* impala::AnalyticEvalNode::client_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Block manager client used by input_stream_. Not owned. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00312">312</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a302f24417303ae6eb522e50a15f9ca2c"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::vector<<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*> impala::ExecNode::conjunct_ctxs_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00212">212</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00559">impala::HashJoinNode::CodegenProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">impala::PartitionedHashJoinNode::CodegenProcessProbeBatch()</a>, <a class="el" href="exec-node_8h_source.html#l00152">impala::ExecNode::conjunct_ctxs()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="topn-node_8cc_source.html#l00044">impala::TopNNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00124">impala::ExecNode::Init()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">impala::PartitionedHashJoinNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00154">impala::ExecNode::Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a99c9637750d75e08c6385eaa89a2d1ca"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::scoped_ptr<<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a>> impala::AnalyticEvalNode::curr_child_batch_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00309">309</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00525">ProcessChildBatches()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8a952c34b04013f69cc316fc0382933a"></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::AnalyticEvalNode::curr_partition_idx_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Index of the row in input_stream_ at which the current partition started. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00297">297</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00364">TryAddResultTupleForCurrRow()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa76b74cdb1b1305c2563791f8be00f9b"></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::AnalyticEvalNode::curr_tuple_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>The tuple described by intermediate_tuple_desc_ storing intermediate state for the evaluators_. When enough input rows have been consumed to produce the analytic function results, a result tuple (described by result_tuple_desc_) is created and the agg fn results are written to that tuple by calling Finalize()/GetValue() on the evaluators with curr_tuple_ as the source tuple. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00289">289</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ac09e20ad160e0cafcb30a6519a8bb69f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::scoped_ptr<<a class="el" href="classimpala_1_1MemPool.html">MemPool</a>> impala::AnalyticEvalNode::curr_tuple_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>Pools used to allocate result tuples (added to result_tuples_ and later returned) and window tuples (added to window_tuples_ to buffer the current window). Resources are transferred from curr_tuple_pool_ to prev_tuple_pool_ once it is at least MAX_TUPLE_POOL_SIZE bytes. Resources from prev_tuple_pool_ are transferred to an output row batch when all result tuples it contains have been returned and all window tuples it contains are no longer needed. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00269">269</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a08cd2dfda956999b3995caafe76190fd"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">TDebugAction::type impala::ExecNode::debug_action_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00220">220</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00378">impala::ExecNode::ExecDebugAction()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a76c55d45e1b55f82b83614898240adaf"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">TExecNodePhase::type impala::ExecNode::debug_phase_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>debug-only: if debug_action_ is not INVALID, node will perform action in debug_phase_ </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00219">219</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00378">impala::ExecNode::ExecDebugAction()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a4dee04b4d898c4bf324659e3b0bfffe4"></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::AnalyticEvalNode::dummy_result_tuple_</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 tuple described by result_tuple_desc_ used when calling Finalize() on the evaluators_ to release resources between partitions; the value is never used. TODO: Remove when agg fns implement a separate <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a0ac02b87b85310e0a3771e308cbd621f">Close()</a> method to release resources. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00294">294</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa844eaa603d2381408aece6345f03e79"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::AnalyticEvalNode::evaluation_timer_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Time spent processing the child rows. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00331">331</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a5c50b3ef37f8bf478e3a3125baf8ece7"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::vector<<a class="el" href="classimpala_1_1AggFnEvaluator.html">AggFnEvaluator</a>*> impala::AnalyticEvalNode::evaluators_</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>Analytic function evaluators. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00223">223</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00766">DebugString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00094">Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00781">QueryMaintenance()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa536e5c953d915df988c5bcbf24db9f4"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::mutex impala::ExecNode::exec_options_lock_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Execution options that are determined at runtime. This is added to the runtime profile at <a class="el" href="classimpala_1_1ExecNode.html#a726e2aca524ace8e4c043377e621285a">Close()</a>. Examples for options logged here would be "Codegen Enabled" </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00238">238</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8574c9973af1609b90cef86ccc331141"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::scoped_ptr<<a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>> impala::ExecNode::expr_mem_tracker_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p><a class="el" href="classimpala_1_1MemTracker.html" title="This class is thread-safe. ">MemTracker</a> that should be used for ExprContexts. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00233">233</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8h_source.html#l00163">impala::ExecNode::expr_mem_tracker()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="abd08adcbb33b3fa49a428571052a2672"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">long impala::AnalyticEvalNode::first_val_null_offset_</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="analytic-eval-node_8h_source.html#l00232">232</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ad9a213f2c02f8b4e853c3b798a522a2c"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::vector<<a class="el" href="classimpala__udf_1_1FunctionContext.html">impala_udf::FunctionContext</a>*> impala::AnalyticEvalNode::fn_ctxs_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>FunctionContext for each analytic function. String data returned by the analytic functions is allocated via these contexts. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00236">236</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a7459b003fa1c9fc7c4e9270694d7fb7e"></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_1AnalyticEvalNode.html#a124e80e62c2bac34f196c8e8a3de547f">AnalyticFnScope</a> impala::AnalyticEvalNode::fn_scope_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>The scope over which analytic functions are evaluated. TODO: Consider adding additional state to capture whether different kinds of window bounds need to be maintained, e.g. (fn_scope_ == ROWS && window_.__isset.end_bound). </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00214">214</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00030">AnalyticEvalNode()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00236">DebugWindowString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00094">Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00364">TryAddResultTupleForCurrRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00350">TryAddResultTupleForPrevRow()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a418055d12b5cff66c7af2d05cb7588ff"></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::AnalyticEvalNode::has_first_val_null_offset_</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, evaluating FIRST_VALUE requires special null handling when initializing new partitions determined by the offset. Set in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#adbffbcca3ddea45d2421e16f0a864750">Open()</a> by inspecting the agg fns. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00231">231</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a2d543ec055a04199286b52d23a82280f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int impala::ExecNode::id_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00209">209</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00729">impala::PartitionedAggregationNode::CreateHashPartitions()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="exec-node_8cc_source.html#l00371">impala::ExecNode::InitRuntimeProfile()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00771">impala::PartitionedAggregationNode::NextPartition()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">impala::PartitionedHashJoinNode::PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a7eac9d9411f60982e100cdeca914cafa"></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::AnalyticEvalNode::input_eos_</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>True when there are no more input rows to consume from our child. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00328">328</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00525">ProcessChildBatches()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a173014acf537a12ef8c0e501b9e7ec0f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::scoped_ptr<<a class="el" href="classimpala_1_1BufferedTupleStream.html">BufferedTupleStream</a>> impala::AnalyticEvalNode::input_stream_</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>Buffers input rows added in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae83988b11c6361d6ffed3c4651fb2ffe">ProcessChildBatch()</a> until enough rows are able to be returned by <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a17eeb830a6e55da731d2291f8ee008d3">GetNextOutputBatch()</a>, in which case row batches are returned from the front of the stream and the underlying buffered blocks are deleted once read. The number of rows that must be buffered may vary from an entire partition (e.g. no order by clause) to a single row (e.g. ROWS windows). When the amount of buffered data exceeds the available memory in the underlying <a class="el" href="classimpala_1_1BufferedBlockMgr.html">BufferedBlockMgr</a>, input_stream_ is unpinned (i.e., possibly spilled to disk if necessary). TODO: Consider re-pinning unpinned streams when possible. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00322">322</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00679">NumOutputRowsReady()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae4e0a58d886837304890115cf52139db"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const <a class="el" href="classimpala_1_1TupleDescriptor.html">TupleDescriptor</a>* impala::AnalyticEvalNode::intermediate_tuple_desc_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p><a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> descriptor for storing intermediate values of analytic fn evaluation. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00188">188</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a79a48a037d813278fc34433af23f5ea2"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::vector<<a class="el" href="classbool.html">bool</a>> impala::AnalyticEvalNode::is_lead_fn_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Indicates if each evaluator is the lead() fn. Used by <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a83d178109785bd247a685ff18e6ee4fc">ResetLeadFnSlots()</a> to determine which slots need to be reset. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00227">227</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00094">Init()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a70b0fd9f40411b99d968ef4239ab5791"></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::AnalyticEvalNode::last_result_idx_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Index in input_stream_ of the most recently added result tuple. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00253">253</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00679">NumOutputRowsReady()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae41f912c39b004f60987b4d480e442b8"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int64_t impala::ExecNode::limit_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00222">222</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="topn-node_8cc_source.html#l00144">impala::TopNNode::InsertTupleRow()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00117">impala::HdfsScanNode::limit()</a>, <a class="el" href="exec-node_8h_source.html#l00158">impala::ExecNode::limit()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, and <a class="el" href="exec-node_8h_source.html#l00159">impala::ExecNode::ReachedLimit()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a97a23419d36a42b06d18d4601e3e05f2"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::scoped_ptr<<a class="el" href="classimpala_1_1MemPool.html">MemPool</a>> impala::AnalyticEvalNode::mem_pool_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Pool used for O(1) allocations that live until close. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00325">325</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aba2362d7d1816b4f90f3e1f6768accd1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::scoped_ptr<<a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>> impala::ExecNode::mem_tracker_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Account for peak memory used by this node. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00230">230</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a9789aeca3e98cda63998a8f47d355fd9"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int64_t impala::ExecNode::num_rows_returned_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00223">223</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="exec-node_8h_source.html#l00159">impala::ExecNode::ReachedLimit()</a>, and <a class="el" href="exec-node_8h_source.html#l00157">impala::ExecNode::rows_returned()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a2dd62d9e8b01487d84715d07e5d89fe9"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>* impala::AnalyticEvalNode::order_by_eq_expr_ctx_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p><a class="el" href="classimpala_1_1Expr.html" title="This is the superclass of all expr evaluation nodes. ">Expr</a> context for a predicate that checks if child tuple '<' buffered tuple for order by exprs. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00209">209</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00766">DebugString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00094">Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00350">TryAddResultTupleForPrevRow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="adc283744ea4f9f1f5809bd85d34a18ac"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>* impala::AnalyticEvalNode::partition_by_eq_expr_ctx_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p><a class="el" href="classimpala_1_1Expr.html" title="This is the superclass of all expr evaluation nodes. ">Expr</a> context for a predicate that checks if child tuple '<' buffered tuple for partitioning exprs. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00205">205</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00766">DebugString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00094">Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ac55aaa21c7750fd5f8774aee1ac5211a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a>* impala::ExecNode::pool_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00211">211</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00034">impala::SortNode::Init()</a>, <a class="el" href="union-node_8cc_source.html#l00038">impala::UnionNode::Init()</a>, <a class="el" href="topn-node_8cc_source.html#l00044">impala::TopNNode::Init()</a>, <a class="el" href="exchange-node_8cc_source.html#l00051">impala::ExchangeNode::Init()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00062">impala::HashJoinNode::Init()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00072">impala::AggregationNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00124">impala::ExecNode::Init()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">impala::PartitionedHashJoinNode::Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00094">Init()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00082">impala::PartitionedAggregationNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00371">impala::ExecNode::InitRuntimeProfile()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">impala::HdfsScanNode::Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a0ed071e7bb4bb7ed3a9dd8a26f1ca174"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::scoped_ptr<<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a>> impala::AnalyticEvalNode::prev_child_batch_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Current and previous input row batches from the child. RowBatches are allocated once and reused. Previous input row batch owns prev_input_row_ between calls to <a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae83988b11c6361d6ffed3c4651fb2ffe">ProcessChildBatch()</a>. The prev batch is <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a90efde191c894a4e3af24228ba1f6f6a">Reset()</a> after calling <a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae83988b11c6361d6ffed3c4651fb2ffe">ProcessChildBatch()</a> and then swapped with the curr batch so the <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> owning prev_input_row_ is stored in prev_child_batch_ for the next call to <a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae83988b11c6361d6ffed3c4651fb2ffe">ProcessChildBatch()</a>. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00308">308</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00525">ProcessChildBatches()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ad5e51075d1c720accc7c3d59cf54b955"></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::AnalyticEvalNode::prev_input_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>Previous input row used to compare partition boundaries and to determine when the order-by expressions change. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00301">301</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8765316b87338cb75c8888ea3922753d"></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::AnalyticEvalNode::prev_pool_last_result_idx_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>The index of the last row from input_stream_ associated with output row containing resources in prev_tuple_pool_. -1 when the pool is empty. Resources from prev_tuple_pool_ can only be transferred to an output batch once all rows containing these tuples have been returned. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00276">276</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="acb273aa5613f23427f7a7cd5935a8dc1"></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::AnalyticEvalNode::prev_pool_last_window_idx_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>The index of the last row from input_stream_ associated with window tuples containing resources in prev_tuple_pool_. -1 when the pool is empty. Resources from prev_tuple_pool_ can only be transferred to an output batch once all rows containing these tuples are no longer needed (removed from the window_tuples_). </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00282">282</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae9d0ba459a101a5a216c4fb41c35c2ca"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::scoped_ptr<<a class="el" href="classimpala_1_1MemPool.html">MemPool</a>> impala::AnalyticEvalNode::prev_tuple_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>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00270">270</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00738">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa7f58976c3ce9e8424e829132f9ebe4e"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const <a class="el" href="classimpala_1_1TupleDescriptor.html">TupleDescriptor</a>* impala::AnalyticEvalNode::result_tuple_desc_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p><a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> descriptor for storing results of analytic fn evaluation. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00191">191</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae62ca30d1bbc5f23e0d3c97c7ef482dd"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::list<std::pair<int64_t, <a class="el" href="classimpala_1_1Tuple.html">Tuple</a>*> > impala::AnalyticEvalNode::result_tuples_</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>Queue of tuples which are ready to be set in output rows, with the index into the input_stream_ stream of the last <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> that gets the <a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a>, i.e. this is a sparse structure. For example, if result_tuples_ contains tuples with indexes x1 and x2 where x1 < x2, output rows with indexes in [0, x1] get the first result tuple and output rows with indexes in (x1, x2] get the second result tuple. Pairs are pushed onto the queue in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#ae83988b11c6361d6ffed3c4651fb2ffe">ProcessChildBatch()</a> and dequeued in order in <a class="el" href="classimpala_1_1AnalyticEvalNode.html#a17eeb830a6e55da731d2291f8ee008d3">GetNextOutputBatch()</a>. The size of result_tuples_ is limited by 2 times the row batch size because we only process input batches if there are not enough result tuples to produce a single batch of output rows. In the worst case there may be a single result tuple per output row and result_tuples_.size() may be one less than the row batch size, in which case we will process another input row batch (inserting one result tuple per input row) before returning a row batch. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00250">250</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">GetNextOutputBatch()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00679">NumOutputRowsReady()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a900a9e0a75e9839f9c6d4658518944b8"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> impala::ExecNode::row_descriptor_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00215">215</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, and <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a514778516fb852eed80c2e98bf08fac2"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const string impala::ExecNode::ROW_THROUGHPUT_COUNTER = "RowsReturnedRate"</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Names of counters shared by all exec nodes. </p> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00169">169</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa4fb807dfd714bacc4034a0a86b0d57d"></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::AnalyticEvalNode::rows_end_offset_</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="analytic-eval-node_8h_source.html#l00220">220</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00030">AnalyticEvalNode()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00364">TryAddResultTupleForCurrRow()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a632a4cdd4c654f362f630936c5ecb29a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::ExecNode::rows_returned_counter_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00226">226</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a1fda03b2e215e5fac1352403ae737030"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::ExecNode::rows_returned_rate_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00227">227</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3505b19cbdf5efa26eef8b734ab43bf4"></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::AnalyticEvalNode::rows_start_offset_</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>Offset from the current row for ROWS windows with start or end bounds specified with offsets. Is positive if the offset is FOLLOWING, negative if PRECEDING, and 0 if type is CURRENT ROW or UNBOUNDED PRECEDING/FOLLOWING. </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00219">219</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00030">AnalyticEvalNode()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a6e72d8a73cfdc5ab09f6bafcca6f8411"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::string impala::ExecNode::runtime_exec_options_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00239">239</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a9cab4e45a94527ff97333c0f280036f8"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">boost::scoped_ptr<<a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>> impala::ExecNode::runtime_profile_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00225">225</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="hbase-scan-node_8cc_source.html#l00277">impala::HBaseScanNode::Close()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">impala::HdfsScanNode::GetNext()</a>, <a class="el" href="exec-node_8cc_source.html#l00371">impala::ExecNode::InitRuntimeProfile()</a>, <a class="el" href="select-node_8cc_source.html#l00042">impala::SelectNode::Open()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00117">impala::HBaseScanNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00088">impala::UnionNode::Open()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="exchange-node_8cc_source.html#l00077">impala::ExchangeNode::Open()</a>, <a class="el" href="data-source-scan-node_8cc_source.html#l00092">impala::DataSourceScanNode::Open()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">impala::BlockingJoinNode::Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="select-node_8cc_source.html#l00034">impala::SelectNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">impala::BlockingJoinNode::Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">impala::HdfsScanNode::StopAndFinalizeCounters()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ab86051ba57221a009063eda6e2aefd76"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">TPlanNodeType::type impala::ExecNode::type_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="exec-node_8h_source.html#l00210">210</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00359">impala::ExecNode::CollectNodes()</a>, and <a class="el" href="exec-node_8h_source.html#l00155">impala::ExecNode::type()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3b01a5128c4e41b7f981cc101e7cf52b"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const TAnalyticWindow impala::AnalyticEvalNode::window_</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>Window over which the analytic functions are evaluated. Only used if fn_scope_ is ROWS or RANGE. TODO: fn_scope_ and window_ are candidates to be removed during codegen </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00185">185</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00030">AnalyticEvalNode()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00236">DebugWindowString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00094">Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00364">TryAddResultTupleForCurrRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00350">TryAddResultTupleForPrevRow()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ade82a38efc3a52d774c3ce155fd7ffd8"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::list<std::pair<int64_t, <a class="el" href="classimpala_1_1Tuple.html">Tuple</a>*> > impala::AnalyticEvalNode::window_tuples_</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>Child tuples (described by child_tuple_desc_) that are currently within the window and the index into input_stream_ of the row they're associated with. Only used when window start bound is PRECEDING or FOLLOWING. Tuples in this list are deep copied and owned by curr_window_tuple_pool_. TODO: Remove and use <a class="el" href="classimpala_1_1BufferedTupleStream.html" title="The underlying memory management is done by the BufferedBlockMgr. ">BufferedTupleStream</a> (needs support for multiple readers). </p> |
| |
| <p>Definition at line <a class="el" href="analytic-eval-node_8h_source.html#l00260">260</a> of file <a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00306">AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00264">DebugStateString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">InitNextPartition()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">ProcessChildBatch()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">TryAddRemainingResults()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">TryRemoveRowsBeforeWindow()</a>.</p> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this class was generated from the following files:<ul> |
| <li>be/src/exec/<a class="el" href="analytic-eval-node_8h_source.html">analytic-eval-node.h</a></li> |
| <li>be/src/exec/<a class="el" href="analytic-eval-node_8cc_source.html">analytic-eval-node.cc</a></li> |
| </ul> |
| </div><!-- contents --> |
| </div><!-- doc-content --> |
| <!-- start footer part --> |
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> |
| <ul> |
| <li class="navelem"><a class="el" href="namespaceimpala.html">impala</a></li><li class="navelem"><a class="el" href="classimpala_1_1AnalyticEvalNode.html">AnalyticEvalNode</a></li> |
| <li class="footer">Generated on Thu May 7 2015 16:10:46 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> |