blob: 9f00d2cdbcb4df2c534f8aaa9b698e447d0ad83e [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::PredicateInfo 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_1PredicateInfo.html">PredicateInfo</a>
</div>
</div>
<div class="contents">
<h1>tmudr::PredicateInfo Class Reference</h1><!-- doxytag: class="tmudr::PredicateInfo" --><!-- doxytag: inherits="tmudr::TMUDRSerializableObject" -->
<p>A predicate to be evaluated on a table.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="sqludr_8h_source.html">sqludr.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for tmudr::PredicateInfo:</div>
<div class="dynsection">
<div class="center">
<img src="classtmudr_1_1PredicateInfo.gif" usemap="#tmudr::PredicateInfo_map" alt=""/>
<map id="tmudr::PredicateInfo_map" name="tmudr::PredicateInfo_map">
<area href="classtmudr_1_1ComparisonPredicateInfo.html" alt="tmudr::ComparisonPredicateInfo" shape="rect" coords="0,56,191,80"/>
</map>
</div>
</div>
<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_1PredicateInfo.html#aa2a53f51db2e8e56cf79fe8c28e54232">EvaluationCode</a> { <a class="el" href="classtmudr_1_1PredicateInfo.html#aa2a53f51db2e8e56cf79fe8c28e54232a9a9d393cf0eee2d3f06d72ff09922ed5">UNKNOWN_EVAL</a> = 0,
<a class="el" href="classtmudr_1_1PredicateInfo.html#aa2a53f51db2e8e56cf79fe8c28e54232aaa9bf12167c7575208c449d059c957b2">EVALUATE_ON_RESULT</a> = 0x1,
<a class="el" href="classtmudr_1_1PredicateInfo.html#aa2a53f51db2e8e56cf79fe8c28e54232a166c3ebfedcb9c566daf6a114da8c15f">EVALUATE_IN_UDF</a> = 0x2,
<a class="el" href="classtmudr_1_1PredicateInfo.html#aa2a53f51db2e8e56cf79fe8c28e54232ac9e7ffa3c75fe7571cf22a1d8c33301b">EVALUATE_IN_CHILD</a> = 0x4
}</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Info on whether a table-valued input or output column is used. </p>
<a href="classtmudr_1_1PredicateInfo.html#aa2a53f51db2e8e56cf79fe8c28e54232">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5">PredOperator</a> { <br/>
&nbsp;&nbsp;<a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5acc2e2fe0b00dd8f64160e946a68db97b">UNKNOWN_OP</a>,
<a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5aa74af3680d17b0a31a5aeb71132e22a8">EQUAL</a>,
<a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5a50262f568344c15cc0d3ac289e91523f">NOT_EQUAL</a>,
<a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5aef604ed2edbce4fe1605c93f8f1cf8b4">LESS</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5ab1330d4ccc7637cb80d672e28cff95a6">LESS_EQUAL</a>,
<a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5a7c978537b911c81d78f3db4a91a012c7">GREATER</a>,
<a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5a5efc4c3d6b386d347ae3af5946e240e9">GREATER_EQUAL</a>,
<a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5a93914d26fbbf66d58952c891a94ccf59">IN</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5ad3393b6e03346f32766ddcad5de5eed9">NOT_IN</a>
<br/>
}</td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtmudr_1_1PredicateInfo.html#aa2a53f51db2e8e56cf79fe8c28e54232">EvaluationCode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1PredicateInfo.html#aa2ef2035fddfe7375d8fecaae94528c9">getEvaluationCode</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5">PredOperator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1PredicateInfo.html#aaaae2bb25f6c7e95cf74666649e615b2">getOperator</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1PredicateInfo.html#aff4280afceebaa23faf6804748d1c719">isAComparisonPredicate</a> () const </td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A predicate to be evaluated on a table. </p>
<p>These could be different kinds of predicates, like an equals predicate, a non-equals predicate or more complex cases. </p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="aa2a53f51db2e8e56cf79fe8c28e54232"></a><!-- doxytag: member="tmudr::PredicateInfo::EvaluationCode" ref="aa2a53f51db2e8e56cf79fe8c28e54232" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classtmudr_1_1PredicateInfo.html#aa2a53f51db2e8e56cf79fe8c28e54232">tmudr::PredicateInfo::EvaluationCode</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Info on whether a table-valued input or output column is used. </p>
<p>Note that these are not necessarily exclusive, a predicate might be evaluated in multiple places, although that should not be common and is not yet allowed. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="aa2a53f51db2e8e56cf79fe8c28e54232a9a9d393cf0eee2d3f06d72ff09922ed5"></a><!-- doxytag: member="UNKNOWN_EVAL" ref="aa2a53f51db2e8e56cf79fe8c28e54232a9a9d393cf0eee2d3f06d72ff09922ed5" args="" -->UNKNOWN_EVAL</em>&nbsp;</td><td>
<p>Not yet determined where predicate is evaluated. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa2a53f51db2e8e56cf79fe8c28e54232aaa9bf12167c7575208c449d059c957b2"></a><!-- doxytag: member="EVALUATE_ON_RESULT" ref="aa2a53f51db2e8e56cf79fe8c28e54232aaa9bf12167c7575208c449d059c957b2" args="" -->EVALUATE_ON_RESULT</em>&nbsp;</td><td>
<p>Predicate is evaluated on the UDF result, in Trafodion code. This is the default. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa2a53f51db2e8e56cf79fe8c28e54232a166c3ebfedcb9c566daf6a114da8c15f"></a><!-- doxytag: member="EVALUATE_IN_UDF" ref="aa2a53f51db2e8e56cf79fe8c28e54232a166c3ebfedcb9c566daf6a114da8c15f" args="" -->EVALUATE_IN_UDF</em>&nbsp;</td><td>
<p>Predicate is evaluated inside the code provided by the <a class="el" href="classtmudr_1_1UDR.html" title="This class represents the code associated with a UDR.">UDR</a> writer. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa2a53f51db2e8e56cf79fe8c28e54232ac9e7ffa3c75fe7571cf22a1d8c33301b"></a><!-- doxytag: member="EVALUATE_IN_CHILD" ref="aa2a53f51db2e8e56cf79fe8c28e54232ac9e7ffa3c75fe7571cf22a1d8c33301b" args="" -->EVALUATE_IN_CHILD</em>&nbsp;</td><td>
<p>Predicate should be evaluated in a table-valued input before the data reaches the UDF. </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5"></a><!-- doxytag: member="tmudr::PredicateInfo::PredOperator" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5">tmudr::PredicateInfo::PredOperator</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Operator of a relational (comparison) predicate </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5acc2e2fe0b00dd8f64160e946a68db97b"></a><!-- doxytag: member="UNKNOWN_OP" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5acc2e2fe0b00dd8f64160e946a68db97b" args="" -->UNKNOWN_OP</em>&nbsp;</td><td>
<p>Operator not yet determined. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5aa74af3680d17b0a31a5aeb71132e22a8"></a><!-- doxytag: member="EQUAL" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5aa74af3680d17b0a31a5aeb71132e22a8" args="" -->EQUAL</em>&nbsp;</td><td>
<p>Equals predicate (col = val). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5a50262f568344c15cc0d3ac289e91523f"></a><!-- doxytag: member="NOT_EQUAL" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5a50262f568344c15cc0d3ac289e91523f" args="" -->NOT_EQUAL</em>&nbsp;</td><td>
<p>Not equals predicate (col &lt;&gt; val). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5aef604ed2edbce4fe1605c93f8f1cf8b4"></a><!-- doxytag: member="LESS" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5aef604ed2edbce4fe1605c93f8f1cf8b4" args="" -->LESS</em>&nbsp;</td><td>
<p>Less than predicate (col &lt;). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5ab1330d4ccc7637cb80d672e28cff95a6"></a><!-- doxytag: member="LESS_EQUAL" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5ab1330d4ccc7637cb80d672e28cff95a6" args="" -->LESS_EQUAL</em>&nbsp;</td><td>
<p>Less or equals predicate (col &lt;=). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5a7c978537b911c81d78f3db4a91a012c7"></a><!-- doxytag: member="GREATER" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5a7c978537b911c81d78f3db4a91a012c7" args="" -->GREATER</em>&nbsp;</td><td>
<p>Greater predicate (col &gt;). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5a5efc4c3d6b386d347ae3af5946e240e9"></a><!-- doxytag: member="GREATER_EQUAL" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5a5efc4c3d6b386d347ae3af5946e240e9" args="" -->GREATER_EQUAL</em>&nbsp;</td><td>
<p>Greater or equals predicate (col &gt;=). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5a93914d26fbbf66d58952c891a94ccf59"></a><!-- doxytag: member="IN" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5a93914d26fbbf66d58952c891a94ccf59" args="" -->IN</em>&nbsp;</td><td>
<p>IN predicate (col IN). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab22c05aab4b2ec61421fc2d9efa9f2b5ad3393b6e03346f32766ddcad5de5eed9"></a><!-- doxytag: member="NOT_IN" ref="ab22c05aab4b2ec61421fc2d9efa9f2b5ad3393b6e03346f32766ddcad5de5eed9" args="" -->NOT_IN</em>&nbsp;</td><td>
<p>NOT IN predicate (col NOT IN). </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aa2ef2035fddfe7375d8fecaae94528c9"></a><!-- doxytag: member="tmudr::PredicateInfo::getEvaluationCode" ref="aa2ef2035fddfe7375d8fecaae94528c9" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classtmudr_1_1PredicateInfo.html#aa2a53f51db2e8e56cf79fe8c28e54232">PredicateInfo::EvaluationCode</a> PredicateInfo::getEvaluationCode </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get evaluation code for a predicate.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Evaluation code. </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="aaaae2bb25f6c7e95cf74666649e615b2"></a><!-- doxytag: member="tmudr::PredicateInfo::getOperator" ref="aaaae2bb25f6c7e95cf74666649e615b2" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classtmudr_1_1PredicateInfo.html#ab22c05aab4b2ec61421fc2d9efa9f2b5">PredicateInfo::PredOperator</a> PredicateInfo::getOperator </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get operator code for a predicate.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operator code. </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="aff4280afceebaa23faf6804748d1c719"></a><!-- doxytag: member="tmudr::PredicateInfo::isAComparisonPredicate" ref="aff4280afceebaa23faf6804748d1c719" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool PredicateInfo::isAComparisonPredicate </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Check whether this predicate is a comparison predicate.</p>
<p>Use this method to determine whether it is safe to cast the object to class <a class="el" href="classtmudr_1_1ComparisonPredicateInfo.html" title="A comparison predicate to be evaluated on a table.">ComparisonPredicateInfo</a>.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if predcate i is a comparison predicate, false otherwise. </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 3 Mar 2017 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>