<!-- HTML header for doxygen 1.8.4-->
<!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.13"/>
<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
<title>MADlib: Developer Database Functions</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="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<!-- hack in the navigation tree -->
<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
<!-- google analytics -->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
  ga('send', 'pageview');
</script>
</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 id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   <span id="projectnumber">1.10.0</span>
   </div>
   <div id="projectbrief">User Documentation for MADlib</div>
  </td>
   <td>        <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>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</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('group__grp__utilities.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)">
</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="headertitle">
<div class="title">Developer Database Functions<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<div class="toc"><b>Contents</b> <ul>
<li>
<a href="#utilities">Utility Functions</a> </li>
<li>
<a href="#rel;ated">Related Topics</a> </li>
</ul>
</div><p>The utility module consists of useful utility functions to assist data scientists in using the product. Several of these functions can be used while implementing new algorithms.</p>
<p><a class="anchor" id="utilities"></a></p><dl class="section user"><dt>Utility Functions</dt><dd></dd></dl>
<table class="output">
<tr>
<th><a class="el" href="utilities_8sql__in.html#a9ce7ffa76acc8a0638e9bc48be99f36a" title="Return MADlib build information. ">version()</a> </th><td><p class="starttd">Return MADlib build information.  </p>
<p class="endtd"></p>
</td></tr>
<tr>
<th><a class="el" href="utilities_8sql__in.html#a76cfdbed8a6782f37f50710d855434bd" title="Raise an exception if the given condition is not satisfied. ">assert()</a> </th><td><p class="starttd">Raise an exception if the given condition is not satisfied. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<th><a class="el" href="utilities_8sql__in.html#aa90ffaebb43a5cbcb5c48281cbadd3b0" title="Check if a SQL statement raises an error. ">check_if_raises_error()</a> </th><td><p class="starttd">Check if a SQL statement raises an error. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<th><a class="el" href="utilities_8sql__in.html#ac1f509bd94c6309b59eb4d479fb2a470" title="Check if a column exists in a table. ">check_if_col_exists()</a> </th><td><p class="starttd">Check if a column exists in a table. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<th><a class="el" href="utilities_8sql__in.html#a48bed63cab78a5446fa4c122eaae3a40" title="Check if a floating-point number is NaN (not a number) ">isnan()</a> </th><td><p class="starttd">Check if a floating-point number is NaN (not a number) </p>
<p class="endtd"></p>
</td></tr>
<tr>
<th><a class="el" href="utilities_8sql__in.html#a56501b6f9fabe65d7a6a6beb70a0e000" title="Create the temporary schema if it does not exist yet. ">create_schema_pg_temp()</a> </th><td><p class="starttd">Create the temporary schema if it does not exist yet. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<th><a class="el" href="utilities_8sql__in.html#ab194d6a1222672c314ea39b78aad8fd0" title="Create volatile noop function. ">noop()</a> </th><td><p class="starttd">Create volatile noop function. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<th><a class="el" href="utilities_8sql__in.html#aab5ea2cd6201e38e24ca62b0fb91fb7a" title="Drop all tables matching pattern &#39;madlib_temp&#39; in a given schema. ">cleanup_madlib_temp_tables()</a> </th><td><p class="starttd">Drop all tables matching pattern 'madlib_temp' in a given schema. </p>
<p class="endtd"></p>
</td></tr>
</table>
<p>Note: If the function <a class="el" href="utilities_8sql__in.html#aab5ea2cd6201e38e24ca62b0fb91fb7a" title="Drop all tables matching pattern &#39;madlib_temp&#39; in a given schema. ">cleanup_madlib_temp_tables()</a> gives an Out-of-memory error, then the number of tables to be dropped is too high to execute in one transaction. In such a case, please follow the instructions provided with the error to execute the command in multiple transactions.</p>
<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
<p>File <a class="el" href="utilities_8sql__in.html" title="SQL functions for carrying out routine tasks. ">utilities.sql_in</a> documenting the SQL functions. </p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Fri Mar 10 2017 16:46:57 for MADlib by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
