| <!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_udf::FunctionContext 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__udf_1_1FunctionContext.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="#nested-classes">Classes</a> | |
| <a href="#pub-types">Public Types</a> | |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pri-methods">Private Member Functions</a> | |
| <a href="#pri-attribs">Private Attributes</a> | |
| <a href="#friends">Friends</a> | |
| <a href="classimpala__udf_1_1FunctionContext-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">impala_udf::FunctionContext Class Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p><code>#include <<a class="el" href="udf_8h_source.html">udf.h</a>></code></p> |
| <div class="dynheader"> |
| Collaboration diagram for impala_udf::FunctionContext:</div> |
| <div class="dyncontent"> |
| <div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala__udf_1_1FunctionContext__coll__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div> |
| </div> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> |
| Classes</h2></td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structimpala__udf_1_1FunctionContext_1_1TypeDesc.html">TypeDesc</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structimpala__udf_1_1FunctionContext_1_1UniqueId.html">UniqueId</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> |
| Public Types</h2></td></tr> |
| <tr class="memitem:a3c69e8ce595c0d4ce2fd855f8341ca21"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a3c69e8ce595c0d4ce2fd855f8341ca21">ImpalaVersion</a> { <a class="el" href="classimpala__udf_1_1FunctionContext.html#a3c69e8ce595c0d4ce2fd855f8341ca21a5da9e299f601cbcf738084ab1b6e0104">v1_2</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a3c69e8ce595c0d4ce2fd855f8341ca21ab8c09e4752b4544d3fc09daad0ee66c9">v1_3</a> |
| }</td></tr> |
| <tr class="separator:a3c69e8ce595c0d4ce2fd855f8341ca21"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0802c4491e244b8b13d4ff8461e960ff"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ff">Type</a> { <br/> |
|   <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffa0ae5579bad9b0b270596a4c4d0c50c87">INVALID_TYPE</a> = 0, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffa99465ed01e7e93ae2e9b184a482817ab">TYPE_NULL</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffa5d5a0dcee4b5cc71652d0abd9c895bb1">TYPE_BOOLEAN</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffab1528e8b9605961587c97b4073c8e381">TYPE_TINYINT</a>, |
| <br/> |
|   <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffa46b8f76a2941f7f0c8cdb577d1dc7e39">TYPE_SMALLINT</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffa41d0b2855fa8cb44f33d0a6376054c91">TYPE_INT</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffa539b0dc809124932f3a0ec805d9efcd0">TYPE_BIGINT</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffa804ffef4c305ea36acdf4c6e732f28ea">TYPE_FLOAT</a>, |
| <br/> |
|   <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffa7b26a1a2475200332732c8189c782795">TYPE_DOUBLE</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffaf0055f98505d09e606b70a0c096f6ce9">TYPE_TIMESTAMP</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffad04b24e07ab4c7fb86cbcd80249bcd55">TYPE_STRING</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffac0f2e9fac69984d2a42b62bc0a4cd7a1">TYPE_FIXED_BUFFER</a>, |
| <br/> |
|   <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ffa1dd85d0dc61480f9f01982790a3819f4">TYPE_DECIMAL</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960fface77e94f08385fdec354f03618663e35">TYPE_VARCHAR</a> |
| <br/> |
| }</td></tr> |
| <tr class="separator:a0802c4491e244b8b13d4ff8461e960ff"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a1e9662a1bbb78daa9923b47412347ffc"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a1e9662a1bbb78daa9923b47412347ffc">FunctionStateScope</a> { <a class="el" href="classimpala__udf_1_1FunctionContext.html#a1e9662a1bbb78daa9923b47412347ffca4e87124aaecd709eb2822f478f26f964">FRAGMENT_LOCAL</a>, |
| <a class="el" href="classimpala__udf_1_1FunctionContext.html#a1e9662a1bbb78daa9923b47412347ffca9ad2da787a2eb3ea3af8eebe653c84a5">THREAD_LOCAL</a> |
| }</td></tr> |
| <tr class="separator:a1e9662a1bbb78daa9923b47412347ffc"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> |
| Public Member Functions</h2></td></tr> |
| <tr class="memitem:a4ed172014a12fc760fb444eeb9eebecf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a3c69e8ce595c0d4ce2fd855f8341ca21">ImpalaVersion</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a4ed172014a12fc760fb444eeb9eebecf">version</a> () const </td></tr> |
| <tr class="memdesc:a4ed172014a12fc760fb444eeb9eebecf"><td class="mdescLeft"> </td><td class="mdescRight">Returns the version of Impala that's currently running. <a href="#a4ed172014a12fc760fb444eeb9eebecf">More...</a><br/></td></tr> |
| <tr class="separator:a4ed172014a12fc760fb444eeb9eebecf"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8eee8c461d5e9bb7d1c22569ff68b899"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a8eee8c461d5e9bb7d1c22569ff68b899">user</a> () const </td></tr> |
| <tr class="separator:a8eee8c461d5e9bb7d1c22569ff68b899"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a223486a4836bac2ad0bac4cdd283d347"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structimpala__udf_1_1FunctionContext_1_1UniqueId.html">UniqueId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a223486a4836bac2ad0bac4cdd283d347">query_id</a> () const </td></tr> |
| <tr class="memdesc:a223486a4836bac2ad0bac4cdd283d347"><td class="mdescLeft"> </td><td class="mdescRight">Returns the query_id for the current query. <a href="#a223486a4836bac2ad0bac4cdd283d347">More...</a><br/></td></tr> |
| <tr class="separator:a223486a4836bac2ad0bac4cdd283d347"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa29186643c6b873f95e361b74e54a715"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#aa29186643c6b873f95e361b74e54a715">SetError</a> (const char *<a class="el" href="classimpala__udf_1_1FunctionContext.html#a9ad5dd07c98e9f74c52e8436421c1594">error_msg</a>)</td></tr> |
| <tr class="separator:aa29186643c6b873f95e361b74e54a715"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a228cf1a119cfe039dbfb1646fa2566f7"><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__udf_1_1FunctionContext.html#a228cf1a119cfe039dbfb1646fa2566f7">AddWarning</a> (const char *warning_msg)</td></tr> |
| <tr class="separator:a228cf1a119cfe039dbfb1646fa2566f7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac675ff4a1fd6f4e360cca258ac6368e5"><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__udf_1_1FunctionContext.html#ac675ff4a1fd6f4e360cca258ac6368e5">has_error</a> () const </td></tr> |
| <tr class="memdesc:ac675ff4a1fd6f4e360cca258ac6368e5"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if there's been an error set. <a href="#ac675ff4a1fd6f4e360cca258ac6368e5">More...</a><br/></td></tr> |
| <tr class="separator:ac675ff4a1fd6f4e360cca258ac6368e5"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9ad5dd07c98e9f74c52e8436421c1594"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a9ad5dd07c98e9f74c52e8436421c1594">error_msg</a> () const </td></tr> |
| <tr class="memdesc:a9ad5dd07c98e9f74c52e8436421c1594"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current error message. Returns NULL if there is no error. <a href="#a9ad5dd07c98e9f74c52e8436421c1594">More...</a><br/></td></tr> |
| <tr class="separator:a9ad5dd07c98e9f74c52e8436421c1594"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a24a7e63aa708e54ea3c8c9572a00ede2"><td class="memItemLeft" align="right" valign="top">uint8_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a24a7e63aa708e54ea3c8c9572a00ede2">Allocate</a> (int byte_size)</td></tr> |
| <tr class="separator:a24a7e63aa708e54ea3c8c9572a00ede2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3e07497f8e6e2a9f97c55dc578afcd46"><td class="memItemLeft" align="right" valign="top">uint8_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a3e07497f8e6e2a9f97c55dc578afcd46">Reallocate</a> (uint8_t *ptr, int byte_size)</td></tr> |
| <tr class="separator:a3e07497f8e6e2a9f97c55dc578afcd46"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a14904de2d63cac14b1a1ef09b0653a14"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a14904de2d63cac14b1a1ef09b0653a14">Free</a> (uint8_t *buffer)</td></tr> |
| <tr class="memdesc:a14904de2d63cac14b1a1ef09b0653a14"><td class="mdescLeft"> </td><td class="mdescRight">Frees a buffer returned from <a class="el" href="classimpala__udf_1_1FunctionContext.html#a24a7e63aa708e54ea3c8c9572a00ede2">Allocate()</a> or <a class="el" href="classimpala__udf_1_1FunctionContext.html#a3e07497f8e6e2a9f97c55dc578afcd46">Reallocate()</a> <a href="#a14904de2d63cac14b1a1ef09b0653a14">More...</a><br/></td></tr> |
| <tr class="separator:a14904de2d63cac14b1a1ef09b0653a14"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aece9636fb109a4e034c311b80de6824c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#aece9636fb109a4e034c311b80de6824c">TrackAllocation</a> (int64_t byte_size)</td></tr> |
| <tr class="separator:aece9636fb109a4e034c311b80de6824c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a41a17bd6e2f3c420d747c2226a1a1de3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a41a17bd6e2f3c420d747c2226a1a1de3">Free</a> (int64_t byte_size)</td></tr> |
| <tr class="separator:a41a17bd6e2f3c420d747c2226a1a1de3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aba396e394b1f685d4453f6afb37959dc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#aba396e394b1f685d4453f6afb37959dc">SetFunctionState</a> (<a class="el" href="classimpala__udf_1_1FunctionContext.html#a1e9662a1bbb78daa9923b47412347ffc">FunctionStateScope</a> scope, void *ptr)</td></tr> |
| <tr class="separator:aba396e394b1f685d4453f6afb37959dc"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9f06f92e1567f5de30969ec17bea757d"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a9f06f92e1567f5de30969ec17bea757d">GetFunctionState</a> (<a class="el" href="classimpala__udf_1_1FunctionContext.html#a1e9662a1bbb78daa9923b47412347ffc">FunctionStateScope</a> scope) const </td></tr> |
| <tr class="separator:a9f06f92e1567f5de30969ec17bea757d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a06c1133689e37fcd9fa104c8654b63bb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structimpala__udf_1_1FunctionContext_1_1TypeDesc.html">TypeDesc</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a06c1133689e37fcd9fa104c8654b63bb">GetReturnType</a> () const </td></tr> |
| <tr class="separator:a06c1133689e37fcd9fa104c8654b63bb"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a151ab1a6388213af923e63d4e1c9a048"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structimpala__udf_1_1FunctionContext_1_1TypeDesc.html">TypeDesc</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a151ab1a6388213af923e63d4e1c9a048">GetIntermediateType</a> () const </td></tr> |
| <tr class="separator:a151ab1a6388213af923e63d4e1c9a048"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0eb0e2431b2954c02f1bfe97e5e0769a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a0eb0e2431b2954c02f1bfe97e5e0769a">GetNumArgs</a> () const </td></tr> |
| <tr class="separator:a0eb0e2431b2954c02f1bfe97e5e0769a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a982cd2abfd09cd038eb51fbc3d89366c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structimpala__udf_1_1FunctionContext_1_1TypeDesc.html">TypeDesc</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a982cd2abfd09cd038eb51fbc3d89366c">GetArgType</a> (int arg_idx) const </td></tr> |
| <tr class="separator:a982cd2abfd09cd038eb51fbc3d89366c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aad06c7a14658a9a42d5de6e7d01ae136"><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__udf_1_1FunctionContext.html#aad06c7a14658a9a42d5de6e7d01ae136">IsArgConstant</a> (int arg_idx) const </td></tr> |
| <tr class="separator:aad06c7a14658a9a42d5de6e7d01ae136"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a80f0af285424f65b0d9f395049f7a75f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structimpala__udf_1_1AnyVal.html">AnyVal</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a80f0af285424f65b0d9f395049f7a75f">GetConstantArg</a> (int arg_idx) const </td></tr> |
| <tr class="separator:a80f0af285424f65b0d9f395049f7a75f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae700abb05fbec18210b5930aa2efc15a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1FunctionContextImpl.html">impala::FunctionContextImpl</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#ae700abb05fbec18210b5930aa2efc15a">impl</a> ()</td></tr> |
| <tr class="memdesc:ae700abb05fbec18210b5930aa2efc15a"><td class="mdescLeft"> </td><td class="mdescRight">TODO: Add mechanism for UDAs to update stats similar to runtime profile counters. <a href="#ae700abb05fbec18210b5930aa2efc15a">More...</a><br/></td></tr> |
| <tr class="separator:ae700abb05fbec18210b5930aa2efc15a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af0781b66d50075284f26b159e43e1aab"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#af0781b66d50075284f26b159e43e1aab">~FunctionContext</a> ()</td></tr> |
| <tr class="separator:af0781b66d50075284f26b159e43e1aab"><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:acac1d543ef6f4019b1aba63853db67db"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#acac1d543ef6f4019b1aba63853db67db">FunctionContext</a> ()</td></tr> |
| <tr class="separator:acac1d543ef6f4019b1aba63853db67db"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab36068ef369cb32d523ffa84e92b53cb"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#ab36068ef369cb32d523ffa84e92b53cb">FunctionContext</a> (const <a class="el" href="classimpala__udf_1_1FunctionContext.html">FunctionContext</a> &other)</td></tr> |
| <tr class="memdesc:ab36068ef369cb32d523ffa84e92b53cb"><td class="mdescLeft"> </td><td class="mdescRight">Disable copy ctor and assignment operator. <a href="#ab36068ef369cb32d523ffa84e92b53cb">More...</a><br/></td></tr> |
| <tr class="separator:ab36068ef369cb32d523ffa84e92b53cb"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0eb5d045d3b354ece396e5104dbff0d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala__udf_1_1FunctionContext.html">FunctionContext</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a0eb5d045d3b354ece396e5104dbff0d0">operator=</a> (const <a class="el" href="classimpala__udf_1_1FunctionContext.html">FunctionContext</a> &other)</td></tr> |
| <tr class="separator:a0eb5d045d3b354ece396e5104dbff0d0"><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:ab34d7495d3151d3ff82d5acb66952f91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1FunctionContextImpl.html">impala::FunctionContextImpl</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#ab34d7495d3151d3ff82d5acb66952f91">impl_</a></td></tr> |
| <tr class="separator:ab34d7495d3151d3ff82d5acb66952f91"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> |
| Friends</h2></td></tr> |
| <tr class="memitem:ac39956e54ea10ada0a665ba7e79a9c72"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala__udf_1_1FunctionContext.html#ac39956e54ea10ada0a665ba7e79a9c72">impala::FunctionContextImpl</a></td></tr> |
| <tr class="separator:ac39956e54ea10ada0a665ba7e79a9c72"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>A <a class="el" href="classimpala__udf_1_1FunctionContext.html">FunctionContext</a> is passed to every UDF/UDA and is the interface for the UDF to the rest of the system. It contains APIs to examine the system state, report errors and manage memory. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8h_source.html#l00047">47</a> of file <a class="el" href="udf_8h_source.html">udf.h</a>.</p> |
| </div><h2 class="groupheader">Member Enumeration Documentation</h2> |
| <a class="anchor" id="a1e9662a1bbb78daa9923b47412347ffc"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">enum <a class="el" href="classimpala__udf_1_1FunctionContext.html#a1e9662a1bbb78daa9923b47412347ffc">impala_udf::FunctionContext::FunctionStateScope</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <table class="fieldtable"> |
| <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1e9662a1bbb78daa9923b47412347ffca4e87124aaecd709eb2822f478f26f964"></a>FRAGMENT_LOCAL</em> </td><td class="fielddoc"> |
| <p>Indicates that the function state for this <a class="el" href="classimpala__udf_1_1FunctionContext.html">FunctionContext</a>'s UDF is shared across the plan fragment (a query is divided into multiple plan fragments, each of which is responsible for a part of the query execution). Within the plan fragment, there may be multiple instances of the UDF executing concurrently with multiple FunctionContexts sharing this state, meaning that the state must be thread-safe. The Prepare() function for the UDF may be called with this scope concurrently on a single host if the UDF will be evaluated in multiple plan fragments on that host. In general, read-only state that doesn't need to be recomputed for every UDF call should be fragment-local. TODO: not yet implemented </p> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a1e9662a1bbb78daa9923b47412347ffca9ad2da787a2eb3ea3af8eebe653c84a5"></a>THREAD_LOCAL</em> </td><td class="fielddoc"> |
| <p>Indicates that the function state is local to the execution thread. This state does not need to be thread-safe. However, this state will be initialized (via the Prepare() function) once for every execution thread, so fragment-local state should be used when possible for better performance. In general, inexpensive shared state that is written to by the UDF (e.g. scratch space) should be thread-local. </p> |
| </td></tr> |
| </table> |
| |
| <p>Definition at line <a class="el" href="udf_8h_source.html#l00087">87</a> of file <a class="el" href="udf_8h_source.html">udf.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3c69e8ce595c0d4ce2fd855f8341ca21"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">enum <a class="el" href="classimpala__udf_1_1FunctionContext.html#a3c69e8ce595c0d4ce2fd855f8341ca21">impala_udf::FunctionContext::ImpalaVersion</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <table class="fieldtable"> |
| <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a3c69e8ce595c0d4ce2fd855f8341ca21a5da9e299f601cbcf738084ab1b6e0104"></a>v1_2</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a3c69e8ce595c0d4ce2fd855f8341ca21ab8c09e4752b4544d3fc09daad0ee66c9"></a>v1_3</em> </td><td class="fielddoc"> |
| </td></tr> |
| </table> |
| |
| <p>Definition at line <a class="el" href="udf_8h_source.html#l00049">49</a> of file <a class="el" href="udf_8h_source.html">udf.h</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ff"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">enum <a class="el" href="classimpala__udf_1_1FunctionContext.html#a0802c4491e244b8b13d4ff8461e960ff">impala_udf::FunctionContext::Type</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <table class="fieldtable"> |
| <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffa0ae5579bad9b0b270596a4c4d0c50c87"></a>INVALID_TYPE</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffa99465ed01e7e93ae2e9b184a482817ab"></a>TYPE_NULL</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffa5d5a0dcee4b5cc71652d0abd9c895bb1"></a>TYPE_BOOLEAN</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffab1528e8b9605961587c97b4073c8e381"></a>TYPE_TINYINT</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffa46b8f76a2941f7f0c8cdb577d1dc7e39"></a>TYPE_SMALLINT</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffa41d0b2855fa8cb44f33d0a6376054c91"></a>TYPE_INT</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffa539b0dc809124932f3a0ec805d9efcd0"></a>TYPE_BIGINT</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffa804ffef4c305ea36acdf4c6e732f28ea"></a>TYPE_FLOAT</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffa7b26a1a2475200332732c8189c782795"></a>TYPE_DOUBLE</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffaf0055f98505d09e606b70a0c096f6ce9"></a>TYPE_TIMESTAMP</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffad04b24e07ab4c7fb86cbcd80249bcd55"></a>TYPE_STRING</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffac0f2e9fac69984d2a42b62bc0a4cd7a1"></a>TYPE_FIXED_BUFFER</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960ffa1dd85d0dc61480f9f01982790a3819f4"></a>TYPE_DECIMAL</em> </td><td class="fielddoc"> |
| </td></tr> |
| <tr><td class="fieldname"><em><a class="anchor" id="a0802c4491e244b8b13d4ff8461e960fface77e94f08385fdec354f03618663e35"></a>TYPE_VARCHAR</em> </td><td class="fielddoc"> |
| </td></tr> |
| </table> |
| |
| <p>Definition at line <a class="el" href="udf_8h_source.html#l00054">54</a> of file <a class="el" href="udf_8h_source.html">udf.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a class="anchor" id="af0781b66d50075284f26b159e43e1aab"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">FunctionContext::~FunctionContext </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00159">159</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>References <a class="el" href="udf-internal_8h_source.html#l00170">impala::FunctionContextImpl::closed_</a>, <a class="el" href="udf_8h_source.html#l00214">impl_</a>, and <a class="el" href="udf-internal_8h_source.html#l00112">impala::FunctionContextImpl::pool_</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="acac1d543ef6f4019b1aba63853db67db"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">FunctionContext::FunctionContext </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>Definition at line <a class="el" href="udf_8cc_source.html#l00156">156</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ab36068ef369cb32d523ffa84e92b53cb"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">impala_udf::FunctionContext::FunctionContext </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="classimpala__udf_1_1FunctionContext.html">FunctionContext</a> & </td> |
| <td class="paramname"><em>other</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>Disable copy ctor and assignment operator. </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a class="anchor" id="a228cf1a119cfe039dbfb1646fa2566f7"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classbool.html">bool</a> FunctionContext::AddWarning </td> |
| <td>(</td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>warning_msg</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Adds a warning that is returned to the user. This can include things like overflow or other recoverable error conditions. Warnings are capped at a maximum number. Returns true if the warning was added and false if it was ignored due to the cap. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00345">345</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>References <a class="el" href="udf_8cc_source.html#l00111">MAX_WARNINGS</a>.</p> |
| |
| <p>Referenced by <a class="el" href="udf_8cc_source.html#l00182">impala::FunctionContextImpl::Close()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00298">impala::TimestampFunctions::DateAddSub()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00290">impala::AggregateFunctions::DecimalAvgGetValue()</a>, <a class="el" href="hive-udf-call_8cc_source.html#l00074">impala::HiveUdfCall::Evaluate()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00349">impala::TimestampFunctions::FromUtc()</a>, <a class="el" href="string-functions_8cc_source.html#l00491">impala::StringFunctions::ParseUrl()</a>, <a class="el" href="string-functions_8cc_source.html#l00531">impala::StringFunctions::ParseUrlKey()</a>, <a class="el" href="string-functions_8cc_source.html#l00351">impala::StringFunctions::RegexpExtract()</a>, <a class="el" href="string-functions_8cc_source.html#l00384">impala::StringFunctions::RegexpReplace()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00180">impala::TimestampFunctions::ReportBadFormat()</a>, <a class="el" href="test-udfs_8cc_source.html#l00147">TestWarnings()</a>, and <a class="el" href="timestamp-functions_8cc_source.html#l00378">impala::TimestampFunctions::ToUtc()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a24a7e63aa708e54ea3c8c9572a00ede2"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">uint8_t * FunctionContext::Allocate </td> |
| <td>(</td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>byte_size</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Allocates memory. All UDF/UDAs should use this if possible instead of malloc/new. The UDF/UDA is responsible for calling <a class="el" href="classimpala__udf_1_1FunctionContext.html#a14904de2d63cac14b1a1ef09b0653a14" title="Frees a buffer returned from Allocate() or Reallocate() ">Free()</a> on all buffers returned by <a class="el" href="classimpala__udf_1_1FunctionContext.html#a24a7e63aa708e54ea3c8c9572a00ede2">Allocate()</a>. If this Allocate causes the memory limit to be exceeded, the error will be set in this object causing the query to fail. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00262">262</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>References <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>.</p> |
| |
| <p>Referenced by <a class="el" href="aggregate-functions_8cc_source.html#l00131">impala::AggregateFunctions::AvgInit()</a>, <a class="el" href="test-udfs_8cc_source.html#l00198">ConstantArgPrepare()</a>, <a class="el" href="uda-test-harness-impl_8h_source.html#l00066">impala_udf::UdaTestHarnessUtil::CopyIntermediate()</a>, <a class="el" href="test-udfs_8cc_source.html#l00175">CountPrepare()</a>, <a class="el" href="uda-test-harness-impl_8h_source.html#l00054">impala_udf::UdaTestHarnessUtil::CreateIntermediate()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00228">impala::AggregateFunctions::DecimalAvgInit()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00425">impala::UdfBuiltins::ExtractPrepare()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01281">impala::AggregateFunctions::FirstValUpdate()</a>, <a class="el" href="hyperloglog-uda_8cc_source.html#l00036">HllInit()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00998">impala::AggregateFunctions::HllInit()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01237">impala::AggregateFunctions::LastValUpdate()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00417">impala::AggregateFunctions::Max()</a>, <a class="el" href="test-udfs_8cc_source.html#l00251">MemTestPrepare()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00405">impala::AggregateFunctions::Min()</a>, <a class="el" href="case-expr_8cc_source.html#l00053">impala::CaseExpr::Open()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00562">impala::AggregateFunctions::PcInit()</a>, <a class="el" href="math-functions_8cc_source.html#l00115">impala::MathFunctions::RandPrepare()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01175">impala::AggregateFunctions::RankInit()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00792">impala::AggregateFunctions::ReservoirSampleInit()</a>, <a class="el" href="uda-test_8cc_source.html#l00083">MinState::Set()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00515">impala::AggregateFunctions::StringConcatMerge()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00495">impala::AggregateFunctions::StringConcatUpdate()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00302">impala::UdfBuiltins::TruncPrepare()</a>, <a class="el" href="udf-test_8cc_source.html#l00124">ValidateMem()</a>, <a class="el" href="test-udfs_8cc_source.html#l00228">ValidateOpenPrepare()</a>, and <a class="el" href="udf-test_8cc_source.html#l00144">ValidateSharedStatePrepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a9ad5dd07c98e9f74c52e8436421c1594"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const char * FunctionContext::error_msg </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Returns the current error message. Returns NULL if there is no error. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00257">257</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="uda-test-harness-impl_8h_source.html#l00075">impala_udf::UdaTestHarnessBase< RESULT, INTERMEDIATE >::CheckContext()</a>, <a class="el" href="scalar-fn-call_8cc_source.html#l00148">impala::ScalarFnCall::Open()</a>, <a class="el" href="udf-test-harness_8h_source.html#l00280">impala_udf::UdfTestHarness::ValidateError()</a>, <a class="el" href="udf-test_8cc_source.html#l00115">ValidateFail()</a>, and <a class="el" href="udf-test_8cc_source.html#l00108">ValidateUdf()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a14904de2d63cac14b1a1ef09b0653a14"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FunctionContext::Free </td> |
| <td>(</td> |
| <td class="paramtype">uint8_t * </td> |
| <td class="paramname"><em>buffer</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Frees a buffer returned from <a class="el" href="classimpala__udf_1_1FunctionContext.html#a24a7e63aa708e54ea3c8c9572a00ede2">Allocate()</a> or <a class="el" href="classimpala__udf_1_1FunctionContext.html#a3e07497f8e6e2a9f97c55dc578afcd46">Reallocate()</a> </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00291">291</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>References <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>.</p> |
| |
| <p>Referenced by <a class="el" href="aggregate-functions_8cc_source.html#l00981">impala::AggregateFunctions::AppxMedianFinalize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00177">impala::AggregateFunctions::AvgFinalize()</a>, <a class="el" href="case-expr_8cc_source.html#l00070">impala::CaseExpr::Close()</a>, <a class="el" href="udf_8cc_source.html#l00182">impala::FunctionContextImpl::Close()</a>, <a class="el" href="test-udfs_8cc_source.html#l00217">ConstantArgClose()</a>, <a class="el" href="test-udfs_8cc_source.html#l00189">CountClose()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00315">impala::AggregateFunctions::DecimalAvgFinalize()</a>, <a class="el" href="test-udfs_8cc_source.html#l00278">DoubleFreeTest()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00453">impala::UdfBuiltins::ExtractClose()</a>, <a class="el" href="uda-test-harness-impl_8h_source.html#l00060">impala_udf::UdaTestHarnessUtil::FreeIntermediate()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00957">impala::AggregateFunctions::HistogramFinalize()</a>, <a class="el" href="hyperloglog-uda_8cc_source.html#l00094">HllFinalize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01069">impala::AggregateFunctions::HllFinalize()</a>, <a class="el" href="hyperloglog-uda_8cc_source.html#l00086">HllSerialize()</a>, <a class="el" href="incr-stats-util_8cc_source.html#l00039">IncrementNdvFinalize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01261">impala::AggregateFunctions::LastValRemove()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01237">impala::AggregateFunctions::LastValUpdate()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00417">impala::AggregateFunctions::Max()</a>, <a class="el" href="test-udfs_8cc_source.html#l00268">MemTestClose()</a>, <a class="el" href="test-udas_8cc_source.html#l00089">MemTestFinalize()</a>, <a class="el" href="test-udas_8cc_source.html#l00083">MemTestSerialize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00405">impala::AggregateFunctions::Min()</a>, <a class="el" href="uda-test_8cc_source.html#l00136">MinFinalize()</a>, <a class="el" href="uda-test_8cc_source.html#l00116">MinSerialize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00712">impala::AggregateFunctions::PcFinalize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00719">impala::AggregateFunctions::PcsaFinalize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01221">impala::AggregateFunctions::RankFinalize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00938">impala::AggregateFunctions::ReservoirSampleFinalize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00819">impala::AggregateFunctions::ReservoirSampleSerialize()</a>, <a class="el" href="uda-test_8cc_source.html#l00083">MinState::Set()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00533">impala::AggregateFunctions::StringConcatFinalize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00086">impala::AggregateFunctions::StringValSerializeOrFinalize()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00216">impala::AggregateFunctions::TimestampAvgFinalize()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00320">impala::UdfBuiltins::TruncClose()</a>, <a class="el" href="udf-test_8cc_source.html#l00124">ValidateMem()</a>, <a class="el" href="test-udfs_8cc_source.html#l00241">ValidateOpenClose()</a>, and <a class="el" href="udf-test_8cc_source.html#l00165">ValidateSharedStateClose()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a41a17bd6e2f3c420d747c2226a1a1de3"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FunctionContext::Free </td> |
| <td>(</td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>byte_size</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00318">318</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a982cd2abfd09cd038eb51fbc3d89366c"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const <a class="el" href="structimpala__udf_1_1FunctionContext_1_1TypeDesc.html">FunctionContext::TypeDesc</a> * FunctionContext::GetArgType </td> |
| <td>(</td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>arg_idx</em></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns the type information for the arg_idx-th argument (0-indexed, not including the FunctionContext* argument). Returns NULL if arg_idx is invalid. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00425">425</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>References <a class="el" href="udf-internal_8h_source.html#l00156">impala::FunctionContextImpl::arg_types_</a>, and <a class="el" href="udf_8h_source.html#l00214">impl_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="decimal-functions_8cc_source.html#l00035">impala::DecimalFunctions::Abs()</a>, <a class="el" href="decimal-operators_8cc_source.html#l00534">impala::DecimalOperators::CastToBooleanVal()</a>, <a class="el" href="decimal-operators_8cc_source.html#l00478">impala::DecimalOperators::CastToStringVal()</a>, <a class="el" href="decimal-operators_8cc_source.html#l00502">impala::DecimalOperators::CastToTimestampVal()</a>, <a class="el" href="string-functions_8cc_source.html#l00148">impala::StringFunctions::CharLength()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00245">impala::AggregateFunctions::DecimalAvgAddOrRemove()</a>, <a class="el" href="utility-functions_8cc_source.html#l00053">impala::UtilityFunctions::FnvHashDecimal()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01007">impala::AggregateFunctions::HllUpdate()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00444">impala::AggregateFunctions::Max()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00429">impala::AggregateFunctions::Min()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01301">impala::AggregateFunctions::OffsetFnInit()</a>, <a class="el" href="string-functions_8cc_source.html#l00471">impala::StringFunctions::ParseUrlPrepare()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00620">impala::AggregateFunctions::PcsaUpdate()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00604">impala::AggregateFunctions::PcUpdate()</a>, <a class="el" href="decimal-functions_8cc_source.html#l00027">impala::DecimalFunctions::Precision()</a>, <a class="el" href="math-functions_8cc_source.html#l00115">impala::MathFunctions::RandPrepare()</a>, <a class="el" href="string-functions_8cc_source.html#l00327">impala::StringFunctions::RegexpPrepare()</a>, <a class="el" href="decimal-operators_8cc_source.html#l00425">impala::DecimalOperators::RoundDecimal()</a>, <a class="el" href="decimal-functions_8cc_source.html#l00063">impala::DecimalFunctions::RoundTo()</a>, <a class="el" href="decimal-functions_8cc_source.html#l00031">impala::DecimalFunctions::Scale()</a>, <a class="el" href="in-predicate-ir_8cc_source.html#l00057">impala::InPredicate::SetLookupPrepare()</a>, <a class="el" href="uda-sample_8cc_source.html#l00119">SumSmallDecimalUpdate()</a>, <a class="el" href="in-predicate-ir_8cc_source.html#l00086">impala::InPredicate::TemplatedIn()</a>, <a class="el" href="utility-functions_8cc_source.html#l00109">impala::UtilityFunctions::TypeOf()</a>, <a class="el" href="test-udfs_8cc_source.html#l00165">ValidateArgType()</a>, and <a class="el" href="test-udfs_8cc_source.html#l00109">VarSum()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a80f0af285424f65b0d9f395049f7a75f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="structimpala__udf_1_1AnyVal.html">AnyVal</a> * FunctionContext::GetConstantArg </td> |
| <td>(</td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>arg_idx</em></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns a pointer to the value of the arg_idx-th input argument (0 indexed, not including the FunctionContext* argument). Returns NULL if the argument is not constant. This function can be used to obtain user-specified constants in a UDF's Init() or Close() functions. </p> |
| |
| <p>Definition at line <a class="el" href="udf-ir_8cc_source.html#l00025">25</a> of file <a class="el" href="udf-ir_8cc_source.html">udf-ir.cc</a>.</p> |
| |
| <p>References <a class="el" href="udf-internal_8h_source.html#l00161">impala::FunctionContextImpl::constant_args_</a>, and <a class="el" href="udf_8h_source.html#l00214">impl_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="test-udfs_8cc_source.html#l00198">ConstantArgPrepare()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00425">impala::UdfBuiltins::ExtractPrepare()</a>, <a class="el" href="like-predicate_8cc_source.html#l00054">impala::LikePredicate::LikePrepare()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01301">impala::AggregateFunctions::OffsetFnInit()</a>, <a class="el" href="string-functions_8cc_source.html#l00471">impala::StringFunctions::ParseUrlPrepare()</a>, <a class="el" href="math-functions_8cc_source.html#l00115">impala::MathFunctions::RandPrepare()</a>, <a class="el" href="string-functions_8cc_source.html#l00327">impala::StringFunctions::RegexpPrepare()</a>, <a class="el" href="like-predicate_8cc_source.html#l00111">impala::LikePredicate::RegexPrepare()</a>, <a class="el" href="in-predicate-ir_8cc_source.html#l00057">impala::InPredicate::SetLookupPrepare()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00302">impala::UdfBuiltins::TruncPrepare()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00066">impala::TimestampFunctions::UnixAndFromUnixPrepare()</a>, and <a class="el" href="udf-test_8cc_source.html#l00144">ValidateSharedStatePrepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a9f06f92e1567f5de30969ec17bea757d"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void * FunctionContext::GetFunctionState </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a1e9662a1bbb78daa9923b47412347ffc">FunctionStateScope</a> </td> |
| <td class="paramname"><em>scope</em></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="udf-ir_8cc_source.html#l00038">38</a> of file <a class="el" href="udf-ir_8cc_source.html">udf-ir.cc</a>.</p> |
| |
| <p>References <a class="el" href="udf-internal_8h_source.html#l00170">impala::FunctionContextImpl::closed_</a>, <a class="el" href="udf_8h_source.html#l00098">FRAGMENT_LOCAL</a>, <a class="el" href="udf-internal_8h_source.html#l00141">impala::FunctionContextImpl::fragment_local_fn_state_</a>, <a class="el" href="udf_8h_source.html#l00214">impl_</a>, <a class="el" href="udf_8h_source.html#l00106">THREAD_LOCAL</a>, and <a class="el" href="udf-internal_8h_source.html#l00140">impala::FunctionContextImpl::thread_local_fn_state_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="case-expr_8cc_source.html#l00070">impala::CaseExpr::Close()</a>, <a class="el" href="hive-udf-call_8cc_source.html#l00232">impala::HiveUdfCall::Close()</a>, <a class="el" href="test-udfs_8cc_source.html#l00211">ConstantArg()</a>, <a class="el" href="test-udfs_8cc_source.html#l00217">ConstantArgClose()</a>, <a class="el" href="like-predicate_8cc_source.html#l00205">impala::LikePredicate::ConstantEndsWithFn()</a>, <a class="el" href="like-predicate_8cc_source.html#l00221">impala::LikePredicate::ConstantEqualsFn()</a>, <a class="el" href="like-predicate_8cc_source.html#l00238">impala::LikePredicate::ConstantRegexFn()</a>, <a class="el" href="like-predicate_8cc_source.html#l00229">impala::LikePredicate::ConstantRegexFnPartial()</a>, <a class="el" href="like-predicate_8cc_source.html#l00191">impala::LikePredicate::ConstantStartsWithFn()</a>, <a class="el" href="like-predicate_8cc_source.html#l00181">impala::LikePredicate::ConstantSubstringFn()</a>, <a class="el" href="like-predicate_8cc_source.html#l00286">impala::LikePredicate::ConvertLikePattern()</a>, <a class="el" href="test-udfs_8cc_source.html#l00183">Count()</a>, <a class="el" href="test-udfs_8cc_source.html#l00189">CountClose()</a>, <a class="el" href="hive-udf-call_8cc_source.html#l00074">impala::HiveUdfCall::Evaluate()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00344">impala::UdfBuiltins::Extract()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00453">impala::UdfBuiltins::ExtractClose()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00110">impala::TimestampFunctions::FromUnix()</a>, <a class="el" href="like-predicate_8cc_source.html#l00095">impala::LikePredicate::Like()</a>, <a class="el" href="like-predicate_8cc_source.html#l00102">impala::LikePredicate::LikeClose()</a>, <a class="el" href="test-udfs_8cc_source.html#l00260">MemTest()</a>, <a class="el" href="test-udfs_8cc_source.html#l00268">MemTestClose()</a>, <a class="el" href="string-functions_8cc_source.html#l00491">impala::StringFunctions::ParseUrl()</a>, <a class="el" href="string-functions_8cc_source.html#l00522">impala::StringFunctions::ParseUrlClose()</a>, <a class="el" href="string-functions_8cc_source.html#l00531">impala::StringFunctions::ParseUrlKey()</a>, <a class="el" href="math-functions_8cc_source.html#l00142">impala::MathFunctions::Rand()</a>, <a class="el" href="like-predicate_8cc_source.html#l00155">impala::LikePredicate::Regex()</a>, <a class="el" href="like-predicate_8cc_source.html#l00162">impala::LikePredicate::RegexClose()</a>, <a class="el" href="like-predicate_8cc_source.html#l00247">impala::LikePredicate::RegexMatch()</a>, <a class="el" href="string-functions_8cc_source.html#l00344">impala::StringFunctions::RegexpClose()</a>, <a class="el" href="string-functions_8cc_source.html#l00351">impala::StringFunctions::RegexpExtract()</a>, <a class="el" href="string-functions_8cc_source.html#l00384">impala::StringFunctions::RegexpReplace()</a>, <a class="el" href="in-predicate-ir_8cc_source.html#l00077">impala::InPredicate::SetLookupClose()</a>, <a class="el" href="in-predicate-ir_8cc_source.html#l00086">impala::InPredicate::TemplatedIn()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00220">impala::UdfBuiltins::Trunc()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00320">impala::UdfBuiltins::TruncClose()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00136">impala::TimestampFunctions::Unix()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00093">impala::TimestampFunctions::UnixAndFromUnixClose()</a>, <a class="el" href="test-udfs_8cc_source.html#l00236">ValidateOpen()</a>, <a class="el" href="test-udfs_8cc_source.html#l00241">ValidateOpenClose()</a>, <a class="el" href="udf-test_8cc_source.html#l00158">ValidateSharedState()</a>, and <a class="el" href="udf-test_8cc_source.html#l00165">ValidateSharedStateClose()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a151ab1a6388213af923e63d4e1c9a048"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const <a class="el" href="structimpala__udf_1_1FunctionContext_1_1TypeDesc.html">TypeDesc</a>& impala_udf::FunctionContext::GetIntermediateType </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns the intermediate type for UDAs, i.e., the one returned by update and merge functions. Returns INVALID_TYPE for UDFs. </p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a0eb0e2431b2954c02f1bfe97e5e0769a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int FunctionContext::GetNumArgs </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns the number of arguments to this function (not including the FunctionContext* argument). </p> |
| |
| <p>Definition at line <a class="el" href="udf-ir_8cc_source.html#l00030">30</a> of file <a class="el" href="udf-ir_8cc_source.html">udf-ir.cc</a>.</p> |
| |
| <p>References <a class="el" href="udf-internal_8h_source.html#l00156">impala::FunctionContextImpl::arg_types_</a>, and <a class="el" href="udf_8h_source.html#l00214">impl_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="aggregate-functions_8cc_source.html#l01301">impala::AggregateFunctions::OffsetFnInit()</a>, <a class="el" href="math-functions_8cc_source.html#l00115">impala::MathFunctions::RandPrepare()</a>, and <a class="el" href="in-predicate-ir_8cc_source.html#l00057">impala::InPredicate::SetLookupPrepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a06c1133689e37fcd9fa104c8654b63bb"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const <a class="el" href="structimpala__udf_1_1FunctionContext_1_1TypeDesc.html">FunctionContext::TypeDesc</a> & FunctionContext::GetReturnType </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns the return type information of this function. For UDAs, this is the final return type of the UDA (e.g., the type returned by the finalize function). </p> |
| |
| <p>Definition at line <a class="el" href="udf-ir_8cc_source.html#l00034">34</a> of file <a class="el" href="udf-ir_8cc_source.html">udf-ir.cc</a>.</p> |
| |
| <p>References <a class="el" href="udf_8h_source.html#l00214">impl_</a>, and <a class="el" href="udf-internal_8h_source.html#l00153">impala::FunctionContextImpl::return_type_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="cast-functions_8cc_source.html#l00173">impala::CastFunctions::CastToChar()</a>, <a class="el" href="decimal-operators_8cc_source.html#l00440">impala::DecimalOperators::CastToDecimalVal()</a>, <a class="el" href="cast-functions_8cc_source.html#l00145">impala::CastFunctions::CastToStringVal()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00290">impala::AggregateFunctions::DecimalAvgGetValue()</a>, <a class="el" href="math-functions_8cc_source.html#l00487">impala::MathFunctions::LeastGreatest()</a>, <a class="el" href="math-functions_8cc_source.html#l00404">impala::MathFunctions::Negative()</a>, <a class="el" href="conditional-functions-ir_8cc_source.html#l00072">impala::ConditionalFunctions::NullIfZero()</a>, <a class="el" href="decimal-operators_8cc_source.html#l00425">impala::DecimalOperators::RoundDecimal()</a>, and <a class="el" href="decimal-functions_8cc_source.html#l00063">impala::DecimalFunctions::RoundTo()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ac675ff4a1fd6f4e360cca258ac6368e5"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classbool.html">bool</a> FunctionContext::has_error </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Returns true if there's been an error set. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00253">253</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="uda-test-harness-impl_8h_source.html#l00075">impala_udf::UdaTestHarnessBase< RESULT, INTERMEDIATE >::CheckContext()</a>, <a class="el" href="scalar-fn-call_8cc_source.html#l00148">impala::ScalarFnCall::Open()</a>, <a class="el" href="udf-test-harness_8h_source.html#l00289">impala_udf::UdfTestHarness::Validate()</a>, <a class="el" href="udf-test-harness_8h_source.html#l00280">impala_udf::UdfTestHarness::ValidateError()</a>, <a class="el" href="udf-test_8cc_source.html#l00115">ValidateFail()</a>, and <a class="el" href="udf-test_8cc_source.html#l00108">ValidateUdf()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae700abb05fbec18210b5930aa2efc15a"></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_1FunctionContextImpl.html">impala::FunctionContextImpl</a>* impala_udf::FunctionContext::impl </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>TODO: Add mechanism for UDAs to update stats similar to runtime profile counters. </p> |
| <p>TODO: Do we need to add arbitrary key/value metadata. This would be plumbed through the query. E.g. "select UDA(col, 'sample=true') from tbl". const char* GetMetadata(const char*) const;TODO: Add mechanism to query for table/column stats Returns the underlying opaque implementation object. The UDF/UDA should not use this. This is used internally. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8h_source.html#l00202">202</a> of file <a class="el" href="udf_8h_source.html">udf.h</a>.</p> |
| |
| <p>References <a class="el" href="udf_8h_source.html#l00214">impl_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="agg-fn-evaluator_8h_source.html#l00238">impala::AggFnEvaluator::Add()</a>, <a class="el" href="cast-functions_8cc_source.html#l00173">impala::CastFunctions::CastToChar()</a>, <a class="el" href="udf-test-harness_8cc_source.html#l00040">impala_udf::UdfTestHarness::CloseContext()</a>, <a class="el" href="utility-functions_8cc_source.html#l00101">impala::UtilityFunctions::CurrentDatabase()</a>, <a class="el" href="scalar-fn-call_8cc_source.html#l00493">impala::ScalarFnCall::EvaluateChildren()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01270">impala::AggregateFunctions::FirstValUpdate()</a>, <a class="el" href="agg-fn-evaluator_8cc_source.html#l00314">impala::AggFnEvaluator::Init()</a>, <a class="el" href="scalar-fn-call_8cc_source.html#l00512">impala::ScalarFnCall::InterpretEval()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01256">impala::AggregateFunctions::LastValRemove()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00281">impala::TimestampFunctions::Now()</a>, <a class="el" href="scalar-fn-call_8cc_source.html#l00148">impala::ScalarFnCall::Open()</a>, <a class="el" href="agg-fn-evaluator_8cc_source.html#l00214">impala::AggFnEvaluator::Open()</a>, <a class="el" href="utility-functions_8cc_source.html#l00086">impala::UtilityFunctions::Pid()</a>, <a class="el" href="agg-fn-evaluator_8h_source.html#l00243">impala::AggFnEvaluator::Remove()</a>, <a class="el" href="udf-test-harness_8cc_source.html#l00031">impala_udf::UdfTestHarness::SetConstantArgs()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00353">impala::AggregateFunctions::SumDecimalRemove()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00335">impala::AggregateFunctions::SumRemove()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00323">impala::AggregateFunctions::SumUpdate()</a>, and <a class="el" href="timestamp-functions_8cc_source.html#l00167">impala::TimestampFunctions::Unix()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aad06c7a14658a9a42d5de6e7d01ae136"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classbool.html">bool</a> FunctionContext::IsArgConstant </td> |
| <td>(</td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>arg_idx</em></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns true if the arg_idx-th input argument (0 indexed, not including the FunctionContext* argument) is a constant (e.g. 5, "string", 1 + 1). </p> |
| |
| <p>Definition at line <a class="el" href="udf-ir_8cc_source.html#l00020">20</a> of file <a class="el" href="udf-ir_8cc_source.html">udf-ir.cc</a>.</p> |
| |
| <p>References <a class="el" href="udf-internal_8h_source.html#l00161">impala::FunctionContextImpl::constant_args_</a>, and <a class="el" href="udf_8h_source.html#l00214">impl_</a>.</p> |
| |
| <p>Referenced by <a class="el" href="test-udfs_8cc_source.html#l00198">ConstantArgPrepare()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00425">impala::UdfBuiltins::ExtractPrepare()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00110">impala::TimestampFunctions::FromUnix()</a>, <a class="el" href="like-predicate_8cc_source.html#l00054">impala::LikePredicate::LikePrepare()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l01301">impala::AggregateFunctions::OffsetFnInit()</a>, <a class="el" href="string-functions_8cc_source.html#l00491">impala::StringFunctions::ParseUrl()</a>, <a class="el" href="string-functions_8cc_source.html#l00531">impala::StringFunctions::ParseUrlKey()</a>, <a class="el" href="string-functions_8cc_source.html#l00471">impala::StringFunctions::ParseUrlPrepare()</a>, <a class="el" href="math-functions_8cc_source.html#l00115">impala::MathFunctions::RandPrepare()</a>, <a class="el" href="like-predicate_8cc_source.html#l00247">impala::LikePredicate::RegexMatch()</a>, <a class="el" href="string-functions_8cc_source.html#l00351">impala::StringFunctions::RegexpExtract()</a>, <a class="el" href="string-functions_8cc_source.html#l00327">impala::StringFunctions::RegexpPrepare()</a>, <a class="el" href="like-predicate_8cc_source.html#l00111">impala::LikePredicate::RegexPrepare()</a>, <a class="el" href="string-functions_8cc_source.html#l00384">impala::StringFunctions::RegexpReplace()</a>, <a class="el" href="in-predicate-ir_8cc_source.html#l00057">impala::InPredicate::SetLookupPrepare()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00302">impala::UdfBuiltins::TruncPrepare()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00136">impala::TimestampFunctions::Unix()</a>, and <a class="el" href="timestamp-functions_8cc_source.html#l00066">impala::TimestampFunctions::UnixAndFromUnixPrepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a0eb5d045d3b354ece396e5104dbff0d0"></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__udf_1_1FunctionContext.html">FunctionContext</a>& impala_udf::FunctionContext::operator= </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="classimpala__udf_1_1FunctionContext.html">FunctionContext</a> & </td> |
| <td class="paramname"><em>other</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"> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a223486a4836bac2ad0bac4cdd283d347"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="structimpala__udf_1_1FunctionContext_1_1UniqueId.html">FunctionContext::UniqueId</a> FunctionContext::query_id </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Returns the query_id for the current query. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00242">242</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>References <a class="el" href="udf_8h_source.html#l00083">impala_udf::FunctionContext::UniqueId::hi</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3e07497f8e6e2a9f97c55dc578afcd46"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">uint8_t * FunctionContext::Reallocate </td> |
| <td>(</td> |
| <td class="paramtype">uint8_t * </td> |
| <td class="paramname"><em>ptr</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>byte_size</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Reallocates 'ptr' to the new byte_size. If the currently underlying allocation is big enough, the original ptr will be returned. If the allocation needs to grow, a new allocation is made that is at least 'byte_size' and the contents of 'ptr' will be copied into it. This should be used for buffers that constantly get appended to. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00276">276</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>References <a class="el" href="logging_8h_source.html#l00059">VLOG_ROW</a>.</p> |
| |
| <p>Referenced by <a class="el" href="aggregate-functions_8cc_source.html#l01237">impala::AggregateFunctions::LastValUpdate()</a>, <a class="el" href="aggregate-functions_8cc_source.html#l00515">impala::AggregateFunctions::StringConcatMerge()</a>, and <a class="el" href="aggregate-functions_8cc_source.html#l00495">impala::AggregateFunctions::StringConcatUpdate()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa29186643c6b873f95e361b74e54a715"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FunctionContext::SetError </td> |
| <td>(</td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>error_msg</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Sets an error for this UDF. If this is called, this will trigger the query to fail. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00332">332</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="udf_8cc_source.html#l00182">impala::FunctionContextImpl::Close()</a>, <a class="el" href="hive-udf-call_8cc_source.html#l00074">impala::HiveUdfCall::Evaluate()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00344">impala::UdfBuiltins::Extract()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00425">impala::UdfBuiltins::ExtractPrepare()</a>, <a class="el" href="like-predicate_8cc_source.html#l00054">impala::LikePredicate::LikePrepare()</a>, <a class="el" href="string-functions_8cc_source.html#l00471">impala::StringFunctions::ParseUrlPrepare()</a>, <a class="el" href="math-functions_8cc_source.html#l00115">impala::MathFunctions::RandPrepare()</a>, <a class="el" href="like-predicate_8cc_source.html#l00247">impala::LikePredicate::RegexMatch()</a>, <a class="el" href="string-functions_8cc_source.html#l00327">impala::StringFunctions::RegexpPrepare()</a>, <a class="el" href="like-predicate_8cc_source.html#l00111">impala::LikePredicate::RegexPrepare()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00180">impala::TimestampFunctions::ReportBadFormat()</a>, <a class="el" href="udf-test-harness_8cc_source.html#l00031">impala_udf::UdfTestHarness::SetConstantArgs()</a>, <a class="el" href="agg-fn-evaluator_8cc_source.html#l00236">impala::AggFnEvaluator::SetDstSlot()</a>, <a class="el" href="test-udfs_8cc_source.html#l00141">TestError()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00475">impala::UdfBuiltins::ToVector()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00220">impala::UdfBuiltins::Trunc()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00302">impala::UdfBuiltins::TruncPrepare()</a>, <a class="el" href="udf-test_8cc_source.html#l00115">ValidateFail()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00462">ValidateMADlibVector()</a>, and <a class="el" href="test-udfs_8cc_source.html#l00109">VarSum()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aba396e394b1f685d4453f6afb37959dc"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FunctionContext::SetFunctionState </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a1e9662a1bbb78daa9923b47412347ffc">FunctionStateScope</a> </td> |
| <td class="paramname"><em>scope</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">void * </td> |
| <td class="paramname"><em>ptr</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Methods for maintaining state across UDF/UDA function calls. <a class="el" href="classimpala__udf_1_1FunctionContext.html#aba396e394b1f685d4453f6afb37959dc">SetFunctionState()</a> can be used to store a pointer that can then be retreived via <a class="el" href="classimpala__udf_1_1FunctionContext.html#a9f06f92e1567f5de30969ec17bea757d">GetFunctionState()</a>. If <a class="el" href="classimpala__udf_1_1FunctionContext.html#a9f06f92e1567f5de30969ec17bea757d">GetFunctionState()</a> is called when no pointer is set, it will return NULL. <a class="el" href="classimpala__udf_1_1FunctionContext.html#aba396e394b1f685d4453f6afb37959dc">SetFunctionState()</a> does not take ownership of 'ptr'; it is up to the UDF/UDA to clean up any function state if necessary. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00370">370</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="test-udfs_8cc_source.html#l00217">ConstantArgClose()</a>, <a class="el" href="test-udfs_8cc_source.html#l00198">ConstantArgPrepare()</a>, <a class="el" href="test-udfs_8cc_source.html#l00189">CountClose()</a>, <a class="el" href="test-udfs_8cc_source.html#l00175">CountPrepare()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00453">impala::UdfBuiltins::ExtractClose()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00425">impala::UdfBuiltins::ExtractPrepare()</a>, <a class="el" href="like-predicate_8cc_source.html#l00054">impala::LikePredicate::LikePrepare()</a>, <a class="el" href="test-udfs_8cc_source.html#l00268">MemTestClose()</a>, <a class="el" href="test-udfs_8cc_source.html#l00251">MemTestPrepare()</a>, <a class="el" href="case-expr_8cc_source.html#l00053">impala::CaseExpr::Open()</a>, <a class="el" href="hive-udf-call_8cc_source.html#l00176">impala::HiveUdfCall::Open()</a>, <a class="el" href="string-functions_8cc_source.html#l00471">impala::StringFunctions::ParseUrlPrepare()</a>, <a class="el" href="math-functions_8cc_source.html#l00115">impala::MathFunctions::RandPrepare()</a>, <a class="el" href="string-functions_8cc_source.html#l00327">impala::StringFunctions::RegexpPrepare()</a>, <a class="el" href="like-predicate_8cc_source.html#l00111">impala::LikePredicate::RegexPrepare()</a>, <a class="el" href="in-predicate-ir_8cc_source.html#l00057">impala::InPredicate::SetLookupPrepare()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00320">impala::UdfBuiltins::TruncClose()</a>, <a class="el" href="udf-builtins_8cc_source.html#l00302">impala::UdfBuiltins::TruncPrepare()</a>, <a class="el" href="timestamp-functions_8cc_source.html#l00066">impala::TimestampFunctions::UnixAndFromUnixPrepare()</a>, <a class="el" href="test-udfs_8cc_source.html#l00241">ValidateOpenClose()</a>, <a class="el" href="test-udfs_8cc_source.html#l00228">ValidateOpenPrepare()</a>, <a class="el" href="udf-test_8cc_source.html#l00165">ValidateSharedStateClose()</a>, and <a class="el" href="udf-test_8cc_source.html#l00144">ValidateSharedStatePrepare()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aece9636fb109a4e034c311b80de6824c"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FunctionContext::TrackAllocation </td> |
| <td>(</td> |
| <td class="paramtype">int64_t </td> |
| <td class="paramname"><em>byte_size</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>For allocations that cannot use the <a class="el" href="classimpala__udf_1_1FunctionContext.html#a24a7e63aa708e54ea3c8c9572a00ede2">Allocate()</a> API provided by this object, <a class="el" href="classimpala__udf_1_1FunctionContext.html#aece9636fb109a4e034c311b80de6824c">TrackAllocation()</a>/Free() can be used to just keep count of the byte sizes. For each call to <a class="el" href="classimpala__udf_1_1FunctionContext.html#aece9636fb109a4e034c311b80de6824c">TrackAllocation()</a>, the UDF/UDA must call the corresponding <a class="el" href="classimpala__udf_1_1FunctionContext.html#a14904de2d63cac14b1a1ef09b0653a14" title="Frees a buffer returned from Allocate() or Reallocate() ">Free()</a>. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00312">312</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="test-udfs_8cc_source.html#l00278">DoubleFreeTest()</a>, <a class="el" href="test-udfs_8cc_source.html#l00260">MemTest()</a>, <a class="el" href="test-udas_8cc_source.html#l00073">MemTestMerge()</a>, and <a class="el" href="test-udas_8cc_source.html#l00067">MemTestUpdate()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8eee8c461d5e9bb7d1c22569ff68b899"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">const char * FunctionContext::user </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns the user that is running the query. Returns NULL if it is not available. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00237">237</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="utility-functions_8cc_source.html#l00076">impala::UtilityFunctions::User()</a>.</p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a4ed172014a12fc760fb444eeb9eebecf"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classimpala__udf_1_1FunctionContext.html#a3c69e8ce595c0d4ce2fd855f8341ca21">FunctionContext::ImpalaVersion</a> FunctionContext::version </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td> const</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Returns the version of Impala that's currently running. </p> |
| |
| <p>Definition at line <a class="el" href="udf_8cc_source.html#l00233">233</a> of file <a class="el" href="udf_8cc_source.html">udf.cc</a>.</p> |
| |
| <p>Referenced by <a class="el" href="udf-test_8cc_source.html#l00108">ValidateUdf()</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Friends And Related Function Documentation</h2> |
| <a class="anchor" id="ac39956e54ea10ada0a665ba7e79a9c72"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">friend class <a class="el" href="classimpala_1_1FunctionContextImpl.html">impala::FunctionContextImpl</a></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">friend</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Definition at line <a class="el" href="udf_8h_source.html#l00207">207</a> of file <a class="el" href="udf_8h_source.html">udf.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Data Documentation</h2> |
| <a class="anchor" id="ab34d7495d3151d3ff82d5acb66952f91"></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_1FunctionContextImpl.html">impala::FunctionContextImpl</a>* impala_udf::FunctionContext::impl_</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="udf_8h_source.html#l00214">214</a> of file <a class="el" href="udf_8h_source.html">udf.h</a>.</p> |
| |
| <p>Referenced by <a class="el" href="udf_8cc_source.html#l00147">impala::FunctionContextImpl::Clone()</a>, <a class="el" href="udf_8cc_source.html#l00425">GetArgType()</a>, <a class="el" href="udf-ir_8cc_source.html#l00025">GetConstantArg()</a>, <a class="el" href="udf-ir_8cc_source.html#l00038">GetFunctionState()</a>, <a class="el" href="udf-ir_8cc_source.html#l00030">GetNumArgs()</a>, <a class="el" href="udf-ir_8cc_source.html#l00034">GetReturnType()</a>, <a class="el" href="udf_8h_source.html#l00202">impl()</a>, <a class="el" href="udf-ir_8cc_source.html#l00020">IsArgConstant()</a>, and <a class="el" href="udf_8cc_source.html#l00159">~FunctionContext()</a>.</p> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this class was generated from the following files:<ul> |
| <li>be/src/udf/<a class="el" href="udf_8h_source.html">udf.h</a></li> |
| <li>be/src/udf/<a class="el" href="udf-ir_8cc_source.html">udf-ir.cc</a></li> |
| <li>be/src/udf/<a class="el" href="udf_8cc_source.html">udf.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__udf.html">impala_udf</a></li><li class="navelem"><a class="el" href="classimpala__udf_1_1FunctionContext.html">FunctionContext</a></li> |
| <li class="footer">Generated on Thu May 7 2015 16:10:51 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> |