blob: 6120a81048148120d12464493d62e843f35aa4f1 [file] [log] [blame]
<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>tmudr: tmudr::OrderInfo Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<img id="MSearchSelect" src="search/search.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)"/>
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</div>
</li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
<div class="navpath"><b>tmudr</b>::<a class="el" href="classtmudr_1_1OrderInfo.html">OrderInfo</a>
</div>
</div>
<div class="contents">
<h1>tmudr::OrderInfo Class Reference</h1><!-- doxytag: class="tmudr::OrderInfo" -->
<p>Ordering of a table by some ascending or descending columns.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="sqludr_8h_source.html">sqludr.h</a>&gt;</code></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a> { <a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664ca6d13be11b628da60b716cbe1defdefcc">NO_ORDER</a>,
<a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664ca9f5d23e242952104222576f9ab331ad4">ASCENDING</a>,
<a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664ca4b7811d9e06b5befccfb56ef27fee64b">DESCENDING</a>
}</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Ascending/descending order of columns. </p>
<a href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#a98f1be7578ab034d00919d3f8b5ac037">getNumEntries</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#ad2ce0a427824990fb577c99465307667">getColumnNum</a> (int i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#acffea7ba665daca1bf67b15ca62c7a18">getOrderType</a> (int i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#a5b74383fb58f2003fcbab8daaf69194a">addEntry</a> (int colNum, <a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a> orderType=ASCENDING)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#a672fd00b856f225c189de7adce65cf30">addEntryAt</a> (int pos, int colNum, <a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a> orderType=ASCENDING)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1OrderInfo.html#aceceec297c0709e19003dec60f149305">clear</a> ()</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Ordering of a table by some ascending or descending columns. </p>
<p>A list of columns, represented by column numbers, with an ascending/descending indicator for each column. </p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a6dc71ab80df38d3c3fe0d060ac03664c"></a><!-- doxytag: member="tmudr::OrderInfo::OrderTypeCode" ref="a6dc71ab80df38d3c3fe0d060ac03664c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">tmudr::OrderInfo::OrderTypeCode</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Ascending/descending order of columns. </p>
<p>For outputs, the ordering of values from the first row out to the last. Note that this ordering applies within a parallel instance of the UDF at runtime, but it does not guarantee a total order. For example, two parallel instances may get these ordered values: instance 0 gets 1,3,5,7 instance 1 gets 2,4,6,8 </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a6dc71ab80df38d3c3fe0d060ac03664ca6d13be11b628da60b716cbe1defdefcc"></a><!-- doxytag: member="NO_ORDER" ref="a6dc71ab80df38d3c3fe0d060ac03664ca6d13be11b628da60b716cbe1defdefcc" args="" -->NO_ORDER</em>&nbsp;</td><td>
<p>Unspecified order. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6dc71ab80df38d3c3fe0d060ac03664ca9f5d23e242952104222576f9ab331ad4"></a><!-- doxytag: member="ASCENDING" ref="a6dc71ab80df38d3c3fe0d060ac03664ca9f5d23e242952104222576f9ab331ad4" args="" -->ASCENDING</em>&nbsp;</td><td>
<p>Ascending order. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6dc71ab80df38d3c3fe0d060ac03664ca4b7811d9e06b5befccfb56ef27fee64b"></a><!-- doxytag: member="DESCENDING" ref="a6dc71ab80df38d3c3fe0d060ac03664ca4b7811d9e06b5befccfb56ef27fee64b" args="" -->DESCENDING</em>&nbsp;</td><td>
<p>Descending order. </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a5b74383fb58f2003fcbab8daaf69194a"></a><!-- doxytag: member="tmudr::OrderInfo::addEntry" ref="a5b74383fb58f2003fcbab8daaf69194a" args="(int colNum, OrderTypeCode orderType=ASCENDING)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void OrderInfo::addEntry </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>colNum</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a>&nbsp;</td>
<td class="paramname"> <em>orderType</em> = <code>ASCENDING</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Append an entry to the ordering.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number to append to the ordering. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>orderType</em>&nbsp;</td><td>Order type (ascending or descending) to use. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a672fd00b856f225c189de7adce65cf30"></a><!-- doxytag: member="tmudr::OrderInfo::addEntryAt" ref="a672fd00b856f225c189de7adce65cf30" args="(int pos, int colNum, OrderTypeCode orderType=ASCENDING)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void OrderInfo::addEntryAt </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>pos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>colNum</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderTypeCode</a>&nbsp;</td>
<td class="paramname"> <em>orderType</em> = <code>ASCENDING</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Insert an entry at any position of the ordering.</p>
<p>A quick example to illustrate this: Let's say we have a table with columns (a,b,c). Their column numbers are 0, 1, and 2. We produce an ordering (C ASCENDING):</p>
<div class="fragment"><pre class="fragment"> OrderInfo myorder;
myorder.addEntryAt(0, 2);
</pre></div><p>Next, we want to make this into (B DESCENDING, C ASCENDING):</p>
<div class="fragment"><pre class="fragment"> myorder.addEntryAt(0, 1, <a class="code" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664ca4b7811d9e06b5befccfb56ef27fee64b" title="Descending order.">DESCENDING</a>);
</pre></div><dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Position (0-based) at which we want to insert. The new entry will be position "pos" after the insertion, any existing entries will be moved up. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Number of the column by which we want to order </td></tr>
<tr><td valign="top"></td><td valign="top"><em>orderType</em>&nbsp;</td><td>Order type (ascending or descending) to use </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aceceec297c0709e19003dec60f149305"></a><!-- doxytag: member="tmudr::OrderInfo::clear" ref="aceceec297c0709e19003dec60f149305" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void OrderInfo::clear </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Clear the contents of the object </p>
</div>
</div>
<a class="anchor" id="ad2ce0a427824990fb577c99465307667"></a><!-- doxytag: member="tmudr::OrderInfo::getColumnNum" ref="ad2ce0a427824990fb577c99465307667" args="(int i) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int OrderInfo::getColumnNum </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the column number of an entry of the ordering.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>the position (0-based) of the ordering, 0 meaning the leading position. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The column number of the n-th entry of the ordering (both are 0-based). </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a98f1be7578ab034d00919d3f8b5ac037"></a><!-- doxytag: member="tmudr::OrderInfo::getNumEntries" ref="a98f1be7578ab034d00919d3f8b5ac037" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int OrderInfo::getNumEntries </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the number of entries (columns) in the ordering.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of entries/columns that make up the ordering. </dd></dl>
</div>
</div>
<a class="anchor" id="acffea7ba665daca1bf67b15ca62c7a18"></a><!-- doxytag: member="tmudr::OrderInfo::getOrderType" ref="acffea7ba665daca1bf67b15ca62c7a18" args="(int i) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classtmudr_1_1OrderInfo.html#a6dc71ab80df38d3c3fe0d060ac03664c">OrderInfo::OrderTypeCode</a> OrderInfo::getOrderType </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the order type of an entry of the ordering.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>the position (0-based) of the ordering, 0 meaning the leading position. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The order type of the n-th entry of the ordering (0-based). </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="sqludr_8h_source.html">sqludr.h</a></li>
<li>sqludr.cpp</li>
</ul>
</div>
<!--- 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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Enumerator</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on 11 Oct 2016 for tmudr by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>