You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by sa...@apache.org on 2017/03/03 08:44:34 UTC
[14/49] incubator-trafodion-site git commit: Updates for python
installer documentation in provisioning guide.
http://git-wip-us.apache.org/repos/asf/incubator-trafodion-site/blob/be8dfc15/apidocs/2.1.0/tmudr_javadoc/apidocs/org/trafodion/sql/udr/UDR.html
----------------------------------------------------------------------
diff --git a/apidocs/2.1.0/tmudr_javadoc/apidocs/org/trafodion/sql/udr/UDR.html b/apidocs/2.1.0/tmudr_javadoc/apidocs/org/trafodion/sql/udr/UDR.html
new file mode 100644
index 0000000..63188d6
--- /dev/null
+++ b/apidocs/2.1.0/tmudr_javadoc/apidocs/org/trafodion/sql/udr/UDR.html
@@ -0,0 +1,856 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (version 1.7.0_99) on Fri Mar 03 08:42:48 UTC 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UDR (trafodion-sql 2.1.0 API)</title>
+<meta name="date" content="2017-03-03">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="UDR (trafodion-sql 2.1.0 API)";
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!-- -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UDR.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/trafodion/sql/udr/TypeInfo.SQLTypeSubClassCode.html" title="enum in org.trafodion.sql.udr"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/trafodion/sql/udr/UDR.QueueStateInfo.html" title="class in org.trafodion.sql.udr"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/trafodion/sql/udr/UDR.html" target="_top">Frames</a></li>
+<li><a href="UDR.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li><a href="#nested_class_summary">Nested</a> | </li>
+<li><a href="#field_summary">Field</a> | </li>
+<li><a href="#constructor_summary">Constr</a> | </li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#field_detail">Field</a> | </li>
+<li><a href="#constructor_detail">Constr</a> | </li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.trafodion.sql.udr</div>
+<h2 title="Class UDR" class="title">Class UDR</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.trafodion.sql.udr.UDR</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public abstract class <span class="strong">UDR</span>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This class represents the code associated with a UDR.
+ <p>
+ UDR writers can create a derived class and implement these methods
+ for their specific UDR. The base class also has default methods
+ for all but the runtime call <a href="../../../../org/trafodion/sql/udr/UDR.html#processData(org.trafodion.sql.udr.UDRInvocationInfo,%20org.trafodion.sql.udr.UDRPlanInfo)"><code>processData(UDRInvocationInfo, UDRPlanInfo)</code></a>. See
+ https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface
+ for examples.
+ <p>
+ A UDR writer can decide to override none, some or all of the virtual
+ methods that comprise the complier interaction. The run-time interaction
+ <a href="../../../../org/trafodion/sql/udr/UDR.html#processData(org.trafodion.sql.udr.UDRInvocationInfo,%20org.trafodion.sql.udr.UDRPlanInfo)"><code>processData(UDRInvocationInfo, UDRPlanInfo)</code></a>, must always be provided.
+ <p>
+ When overriding methods, the UDR writer has the option to call the default
+ method to do part of the work, and then to implement additional logic.
+ <p>
+ Multiple UDRs could share the same subclass of UDR. The UDR name is passed
+ in UDRInvocationInfo, so the logic can depend on the name.
+ <p>
+ A single query may invoke the same UDR more than once. A different
+ UDRInvocationInfo object will be passed for each such invocation.
+ <p>
+ The UDR object or the object of its derived class may be reused for
+ multiple queries, so its life time can exceed that of a UDRInvocation
+ object.
+ <p>
+ Different instances of UDR (or derived class)objects will be created
+ in the processes that compile and execute a query.
+ <p>
+ Based on the previous three bullets, UDR writers should not store state
+ that relates to a UDR invocation in a UDR (or derived) object. There are
+ special classes to do that. It is ok to use the UDR derived class to store
+ resources that are shared between UDR invocations, such as connections to
+ server processes etc. These need to be cleaned up in <a href="../../../../org/trafodion/sql/udr/UDR.html#close()"><code>close()</code></a>.
+ <p>
+ The optimizer may try different execution plans for a UDR invocation, e.g.
+ with different partitioning and ordering of input and/or output data. These
+ alternative plans share the same UDRInvocationInfo object but they will use
+ different UDRPlanInfo objects.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class </code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.QueueStateInfo.html" title="class in org.trafodion.sql.udr">UDR.QueueStateInfo</a></strong></code> </td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#SQLUDR_Q_CANCEL">SQLUDR_Q_CANCEL</a></strong></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#SQLUDR_Q_EOD">SQLUDR_Q_EOD</a></strong></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#SQLUDR_Q_MORE">SQLUDR_Q_MORE</a></strong></code> </td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#UDR()">UDR</a></strong>()</code>
+<div class="block">Default constructor, to be used by derived classes</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#close()">close</a></strong>()</code>
+<div class="block">Currently not used.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#completeDescription(org.trafodion.sql.udr.UDRInvocationInfo,%20org.trafodion.sql.udr.UDRPlanInfo)">completeDescription</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html" title="class in org.trafodion.sql.udr">UDRPlanInfo</a> plan)</code>
+<div class="block">Final call of the compiler interaction for TMUDFs.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#debugLoop()">debugLoop</a></strong>()</code>
+<div class="block">Debugging hook for UDRs.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#describeConstraints(org.trafodion.sql.udr.UDRInvocationInfo)">describeConstraints</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#describeDataflowAndPredicates(org.trafodion.sql.udr.UDRInvocationInfo)">describeDataflowAndPredicates</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)</code>
+<div class="block">Eliminate unneeded columns and decide where to execute predicates.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#describeDesiredDegreeOfParallelism(org.trafodion.sql.udr.UDRInvocationInfo,%20org.trafodion.sql.udr.UDRPlanInfo)">describeDesiredDegreeOfParallelism</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html" title="class in org.trafodion.sql.udr">UDRPlanInfo</a> plan)</code>
+<div class="block">Describe the desired parallelism of a UDR.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#describeParamsAndColumns(org.trafodion.sql.udr.UDRInvocationInfo)">describeParamsAndColumns</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)</code>
+<div class="block">First method called during compilation of a TMUDF invocation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#describePlanProperties(org.trafodion.sql.udr.UDRInvocationInfo,%20org.trafodion.sql.udr.UDRPlanInfo)">describePlanProperties</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html" title="class in org.trafodion.sql.udr">UDRPlanInfo</a> plan)</code>
+<div class="block">Sixth method of the compiler interface (optional).</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#describeStatistics(org.trafodion.sql.udr.UDRInvocationInfo)">describeStatistics</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)</code>
+<div class="block">Fourth method of the compiler interface (optional).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#emitRow(org.trafodion.sql.udr.UDRInvocationInfo)">emitRow</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)</code>
+<div class="block">Emit a row of a table-valued result.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#getCurrentVersion()">getCurrentVersion</a></strong>()</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#getFeaturesSupportedByUDF()">getFeaturesSupportedByUDF</a></strong>()</code>
+<div class="block">For versioning, return features supported by the UDR writer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#getNextRow(org.trafodion.sql.udr.UDRInvocationInfo)">getNextRow</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)</code>
+<div class="block">Read a row of the first table-value input.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#processData(org.trafodion.sql.udr.UDRInvocationInfo,%20org.trafodion.sql.udr.UDRPlanInfo)">processData</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html" title="class in org.trafodion.sql.udr">UDRPlanInfo</a> plan)</code>
+<div class="block">Runtime code for UDRs.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDR.html#traceRow(org.trafodion.sql.udr.UDRInvocationInfo,%20org.trafodion.sql.udr.TupleInfo,%20int,%20java.lang.String)">traceRow</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/TupleInfo.html" title="class in org.trafodion.sql.udr">TupleInfo</a> ti,
+ int tableIndex,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> formattedMsg)</code> </td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/j
ava/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="SQLUDR_Q_MORE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SQLUDR_Q_MORE</h4>
+<pre>public final int SQLUDR_Q_MORE</pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.trafodion.sql.udr.UDR.SQLUDR_Q_MORE">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="SQLUDR_Q_EOD">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SQLUDR_Q_EOD</h4>
+<pre>public final int SQLUDR_Q_EOD</pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.trafodion.sql.udr.UDR.SQLUDR_Q_EOD">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="SQLUDR_Q_CANCEL">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SQLUDR_Q_CANCEL</h4>
+<pre>public final int SQLUDR_Q_CANCEL</pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.trafodion.sql.udr.UDR.SQLUDR_Q_CANCEL">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="UDR()">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UDR</h4>
+<pre>public UDR()</pre>
+<div class="block">Default constructor, to be used by derived classes</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="close()">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public void close()</pre>
+<div class="block">Currently not used.
+
+ <p>This might be used in the future as a final call, to allow
+ the UDR to deallocate any resources it holds, like connections
+ to other databases. Right now, it is advisable to deallocate
+ any resources that could cause a leak before exiting the
+ processData() method.</div>
+</li>
+</ul>
+<a name="describeParamsAndColumns(org.trafodion.sql.udr.UDRInvocationInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>describeParamsAndColumns</h4>
+<pre>public void describeParamsAndColumns(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<div class="block">First method called during compilation of a TMUDF invocation.
+ <p>
+ Describe the output columns of a TMUDF, based on a description of
+ its parameters (including parameter values that are specified as a
+ constant) and the description of the table-valued input columns.
+ <p>
+ When the compiler calls this, it will have set up the formal and
+ actual parameter descriptions as well as an output column
+ description containing all the output parameters defined in the
+ CREATE FUNCTION DDL (if any).
+ <p>
+ This method should do a general check of things it expects that can be
+ validated at this time such as input table columns. It should then generate
+ a description of the table-valued output columns, if applicable
+ and if the columns provided at DDL time are not sufficient. The
+ "See also" section points to methods to set these values.
+ <p>
+ Columns of the table-valued output can be declard as "pass-thru"
+ columns to make many optimizations simpler.
+ <p>
+ This method must also add or alter the formal parameter list
+ to match the list of actual parameters.
+ <p>
+ The default implementation does nothing. If this method is not used, all
+ parameters and result table columns must be declared in the
+ CREATE TABLE MAPPING FUNCTION DDL.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code> - If an exception occured in the UDR</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#addFormalParameter(org.trafodion.sql.udr.ColumnInfo)"><code>UDRInvocationInfo.addFormalParameter(ColumnInfo)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setFuncType(org.trafodion.sql.udr.UDRInvocationInfo.FuncType)"><code>UDRInvocationInfo.setFuncType(FuncType)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#addPassThruColumns()"><code>UDRInvocationInfo.addPassThruColumns()</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TupleInfo.html#addColumn(org.trafodion.sql.udr.ColumnInfo)"><code>TupleInfo.addColumn(ColumnInfo)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TupleInfo.html#addIntColumn(java.lang.String,%20boolean)"><code>TupleInfo.addIntColumn(String, boolean)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TupleInfo.html#addLongColumn(java.lang.String,%20boolean)"><code>TupleInfo.addLongColumn(String, boolean)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TupleInfo.html#addCharColumn(java.lang.String,%20int,%20boolean,%20org.trafodion.sql.udr.TypeInfo.SQLCharsetCode,%20org.trafodion.sql.udr.TypeInfo.SQLCollationCode)"><code>TupleInfo.addCharColumn(String, int, boolean, TypeInfo.SQLCharsetCode, TypeInfo.SQLCollationCode)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TupleInfo.html#addVarCharColumn(java.lang.String,%20int,%20boolean,%20org.trafodion.sql.udr.TypeInfo.SQLCharsetCode,%20org.trafodion.sql.udr.TypeInfo.SQLCollationCode)"><code>TupleInfo.addVarCharColumn(String, int, boolean, TypeInfo.SQLCharsetCode, TypeInfo.SQLCollationCode)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TupleInfo.html#addColumns(java.util.Vector)"><code>TupleInfo.addColumns(Vector)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TupleInfo.html#addColumnAt(org.trafodion.sql.udr.ColumnInfo,%20int)"><code>TupleInfo.addColumnAt(ColumnInfo, int)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TupleInfo.html#deleteColumn(int)"><code>TupleInfo.deleteColumn(int)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TupleInfo.html#deleteColumn(java.lang.String)"><code>TupleInfo.deleteColumn(String)</code></a></dd></dl>
+</li>
+</ul>
+<a name="describeDataflowAndPredicates(org.trafodion.sql.udr.UDRInvocationInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>describeDataflowAndPredicates</h4>
+<pre>public void describeDataflowAndPredicates(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<div class="block">Eliminate unneeded columns and decide where to execute predicates.
+ <p>
+ This is the second call in the compiler interaction, after
+ describeParamsAndColumns(). When the compiler calls this, it will have
+ marked the UDF result columns with a usage code, indicating any output
+ columns that are not required for this particular query. It will also have
+ created a list of predicates that need to be evaluated.
+ <p>
+ This method can mark any of the columns of the table-valued inputs as not
+ used, based on the result column usage and internal needs of the UDF. It can
+ also decide where to evaluate each predicate, a) on the UDF result,
+ b) inside the UDF and c) in the table-valued inputs.
+ <p>
+ The default implementation does not mark any of the table-valued input
+ columns as unused. Predicate handling in the default implementation
+ depends on the function type:
+ <ul>
+ <li>
+ GENERIC: No predicates are pushed down, because the compiler does not
+ know whether any of the eliminated rows might have altered the
+ output of the UDF. One example is the "sessionize" UDF, where
+ eliminated rows can lead to differences in session ids.
+ </li>
+ <li>
+ MAPPER: All predicates on pass-thru columns are pushed down to table-valued
+ inputs. Since the UDF carries no state between the input rows it
+ sees, eliminating any input rows will not alter results for other
+ rows.
+ </li>
+ <li>
+ REDUCER: Only predicates on the PARTITION BY columns will be pushed to
+ table-valued inputs. These predicates may eliminate entire groups
+ of rows (partitions), and since no state is carried between such
+ groups that is valid.
+ </li>
+ </ul>
+ <p></div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code> - If an exception occured in the UDR</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/ColumnInfo.html#getUsage()"><code>ColumnInfo.getUsage()</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setFuncType(org.trafodion.sql.udr.UDRInvocationInfo.FuncType)"><code>UDRInvocationInfo.setFuncType(FuncType)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setChildColumnUsage(int,%20int,%20org.trafodion.sql.udr.ColumnInfo.ColumnUseCode)"><code>UDRInvocationInfo.setChildColumnUsage(int, int, ColumnInfo.ColumnUseCode)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setUnusedPassthruColumns()"><code>UDRInvocationInfo.setUnusedPassthruColumns()</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#pushPredicatesOnPassthruColumns()"><code>UDRInvocationInfo.pushPredicatesOnPassthruColumns()</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setPredicateEvaluationCode(int,%20org.trafodion.sql.udr.PredicateInfo.EvaluationCode)"><code>UDRInvocationInfo.setPredicateEvaluationCode(int, PredicateInfo.EvaluationCode)</code></a></dd></dl>
+</li>
+</ul>
+<a name="describeConstraints(org.trafodion.sql.udr.UDRInvocationInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>describeConstraints</h4>
+<pre>public void describeConstraints(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code> - If an exception occured in the UDR</dd></dl>
+</li>
+</ul>
+<a name="describeStatistics(org.trafodion.sql.udr.UDRInvocationInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>describeStatistics</h4>
+<pre>public void describeStatistics(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<div class="block">Fourth method of the compiler interface (optional).
+
+ <p>Set up statistics for the table-valued result.
+
+ <p>When the optimizer calls this method, it will have synthesized
+ some statistics for the table-valued inputs, if any. The UDR
+ writer can now indicate the estimated row count for the table-valued
+ result and estimated number of unique values for the output columns.
+
+ <p>The default implementation does nothing. If no estimated cardinality
+ is set for the output table and no estimated number of unique values
+ is set for output columns, the optimizer will make default assumptions.
+ Here are some of these default assumptions:
+ <ul>
+ <li>UDRs of type UDRInvocationInfo.MAPPER return one output row for
+ each row in their largest input table.
+ <li>UDRs of type UDRInvocationInfo.REDUCER and REDUCER_NC return one
+ output row for every partition in their largest partitioned input
+ table.
+ <li>For output columns that are passthru columns, the estimated
+ unique entries are the same as for the underlying column in the
+ table-valued input.
+ <li>Other default cardinality and unique entry counts can be influenced
+ with defaults (CONTROL QUERY DEFAULT) in Trafodion SQL.
+ </ul></div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setFuncType(org.trafodion.sql.udr.UDRInvocationInfo.FuncType)"><code>UDRInvocationInfo.setFuncType(org.trafodion.sql.udr.UDRInvocationInfo.FuncType)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/ColumnInfo.html#getEstimatedUniqueEntries()"><code>ColumnInfo.getEstimatedUniqueEntries()</code></a>,
+<a href="../../../../org/trafodion/sql/udr/ColumnInfo.html#setEstimatedUniqueEntries(long)"><code>ColumnInfo.setEstimatedUniqueEntries(long)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TableInfo.html#getEstimatedNumRows()"><code>TableInfo.getEstimatedNumRows()</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TableInfo.html#setEstimatedNumRows(long)"><code>TableInfo.setEstimatedNumRows(long)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TableInfo.html#getEstimatedNumPartitions()"><code>TableInfo.getEstimatedNumPartitions()</code></a></dd></dl>
+</li>
+</ul>
+<a name="describeDesiredDegreeOfParallelism(org.trafodion.sql.udr.UDRInvocationInfo, org.trafodion.sql.udr.UDRPlanInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>describeDesiredDegreeOfParallelism</h4>
+<pre>public void describeDesiredDegreeOfParallelism(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html" title="class in org.trafodion.sql.udr">UDRPlanInfo</a> plan)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<div class="block">Describe the desired parallelism of a UDR.
+ <p>
+ This method can be used to specify a desired degree of
+ parallelism, either in absolute or relative terms.
+ <p>
+ The default behavior is to allow any degree of parallelism for
+ TMUDFs of function type UDRInvocationInfo.MAPPER or
+ UDRInvocationInfo.REDUCER (or REDUCER_NC) that have exactly
+ one table-valued input. The default behavior forces serial
+ execution in all other cases. The reason is that for a single
+ table-valued input, there is a natural way to parallelize the
+ function by parallelizing its input a la MapReduce. In all
+ other cases, parallel execution requires active participation
+ by the UDF, which is why the UDF needs to signal explicitly
+ that it can handle such flavors of parallelism.
+
+ Default implementation:
+ <pre>
+ if (info.getNumTableInputs() == 1 &&
+ (info.getFuncType() == UDRInvocationInfo.FuncType.MAPPER ||
+ info.getFuncType() == UDRInvocationInfo.FuncType.REDUCER ||
+ info.getFuncType() == UDRInvocationInfo.FuncType.REDUCER_NC))
+ plan.setDesiredDegreeOfParallelism(UDRPlanInfo.ANY_DEGREE_OF_PARALLELISM);
+ else
+ plan.setDesiredDegreeOfParallelism(1); // serial execution
+ </pre>
+ <p>
+ Note that this is NOT foolproof, and that the TMUDF might still
+ need to validate the PARTITION BY and ORDER BY syntax used in its
+ invocation.
+ <p> Note also that in order to get parallel execution, you may need to
+ implement the <a href="../../../../org/trafodion/sql/udr/UDR.html#describeStatistics(org.trafodion.sql.udr.UDRInvocationInfo)"><code>describeStatistics(org.trafodion.sql.udr.UDRInvocationInfo)</code></a> interface and provide a
+ cardinality estimate. Alternatively, you can set the
+ PARALLEL_NUM_ESPS CQD.
+ <p></div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd><dd><code>plan</code> - Plan-related description of the UDR invocation.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code> - If an exception occured in the UDR</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html#getDesiredDegreeOfParallelism()"><code>UDRPlanInfo.getDesiredDegreeOfParallelism()</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html#setDesiredDegreeOfParallelism(int)"><code>UDRPlanInfo.setDesiredDegreeOfParallelism(int)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getNumParallelInstances()"><code>UDRInvocationInfo.getNumParallelInstances()</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setFuncType(org.trafodion.sql.udr.UDRInvocationInfo.FuncType)"><code>UDRInvocationInfo.setFuncType(org.trafodion.sql.udr.UDRInvocationInfo.FuncType)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDR.html#describeStatistics(org.trafodion.sql.udr.UDRInvocationInfo)"><code>describeStatistics(org.trafodion.sql.udr.UDRInvocationInfo)</code></a>,
+<a href="../../../../org/trafodion/sql/udr/TableInfo.html#setEstimatedNumRows(long)"><code>TableInfo.setEstimatedNumRows(long)</code></a></dd></dl>
+</li>
+</ul>
+<a name="describePlanProperties(org.trafodion.sql.udr.UDRInvocationInfo, org.trafodion.sql.udr.UDRPlanInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>describePlanProperties</h4>
+<pre>public void describePlanProperties(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html" title="class in org.trafodion.sql.udr">UDRPlanInfo</a> plan)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<div class="block">Sixth method of the compiler interface (optional).
+
+ The query optimizer calls this method once for every plan alternative
+ considered for a UDR invocation. It provides the required partitioning
+ and ordering of the result. The UDR writer can decide whether these
+ requirements are acceptable to the UDR and whether any partitioning
+ or ordering of the table-valued inputs is required to produce the required
+ result properties.
+
+ <p>This interface is currently not used.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd><dd><code>plan</code> - Plan-related description of the UDR invocation.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code></dd></dl>
+</li>
+</ul>
+<a name="completeDescription(org.trafodion.sql.udr.UDRInvocationInfo, org.trafodion.sql.udr.UDRPlanInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>completeDescription</h4>
+<pre>public void completeDescription(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html" title="class in org.trafodion.sql.udr">UDRPlanInfo</a> plan)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<div class="block">Final call of the compiler interaction for TMUDFs.
+ <p>
+ This final compile time call gives the UDF writer the opportunity
+ to examine the chosen query plan, to pass information on to the
+ runtime method, using <a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html#addPlanData(byte[])"><code>addPlanData</code></a>, and to
+ clean up any resources related to the compile phase of a particular TMUDF
+ invocation.
+ <p>
+ The default implementation does nothing.
+ <p></div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd><dd><code>plan</code> - Plan-related description of the UDR invocation.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code> - If an exception occured in the UDR</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html#addPlanData(byte[])"><code>UDRPlanInfo.addPlanData(byte[])</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html#getUDRWriterCompileTimeData()"><code>UDRPlanInfo.getUDRWriterCompileTimeData()</code></a>,
+<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getUDRWriterCompileTimeData()"><code>UDRInvocationInfo.getUDRWriterCompileTimeData()</code></a></dd></dl>
+</li>
+</ul>
+<a name="processData(org.trafodion.sql.udr.UDRInvocationInfo, org.trafodion.sql.udr.UDRPlanInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processData</h4>
+<pre>public abstract void processData(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html" title="class in org.trafodion.sql.udr">UDRPlanInfo</a> plan)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<div class="block">Runtime code for UDRs.
+ <p>
+ This method must be implemented in derived class.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd><dd><code>plan</code> - Plan-related description of the UDR invocation.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code> - If an exception occured in the UDR</dd></dl>
+</li>
+</ul>
+<a name="getNextRow(org.trafodion.sql.udr.UDRInvocationInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNextRow</h4>
+<pre>public final boolean getNextRow(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<div class="block">Read a row of the first table-value input.
+ <p>
+ This method can only be called from within processData().</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd>
+<dt><span class="strong">Returns:</span></dt><dd>true if another row could be read, false if it reached end of data.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code> - If an exception occured in the UDR</dd></dl>
+</li>
+</ul>
+<a name="emitRow(org.trafodion.sql.udr.UDRInvocationInfo)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>emitRow</h4>
+<pre>public final void emitRow(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<div class="block">Emit a row of a table-valued result.
+ <p>
+ This method can only be called from within UDR#processData(UDRInvocationInfo, UDRPlanInfo).</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - A description of the UDR invocation.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code> - If an exception occured in the UDR</dd></dl>
+</li>
+</ul>
+<a name="debugLoop()">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>debugLoop</h4>
+<pre>public final void debugLoop()</pre>
+<div class="block">Debugging hook for UDRs.
+
+ This method is called in debug Trafodion builds when certain
+ flags are set in the UDR_DEBUG_FLAGS CQD (CONTROL QUERY DEFAULT).
+ See https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface#Debugging_UDF_code
+ for details.
+
+ The default implementation prints out the process id and then
+ goes into an endless loop. The UDF writer can then attach a
+ debugger, set breakpoints and force the execution out of the loop.
+
+ Note that the printout of the pid may not always be displayed on
+ a terminal, for example if the process is executing on a different node.</div>
+</li>
+</ul>
+<a name="traceRow(org.trafodion.sql.udr.UDRInvocationInfo, org.trafodion.sql.udr.TupleInfo, int, java.lang.String)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>traceRow</h4>
+<pre>public void traceRow(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr">UDRInvocationInfo</a> info,
+ <a href="../../../../org/trafodion/sql/udr/TupleInfo.html" title="class in org.trafodion.sql.udr">TupleInfo</a> ti,
+ int tableIndex,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> formattedMsg)
+ throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></code></dd></dl>
+</li>
+</ul>
+<a name="getCurrentVersion()">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentVersion</h4>
+<pre>public final int getCurrentVersion()</pre>
+</li>
+</ul>
+<a name="getFeaturesSupportedByUDF()">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getFeaturesSupportedByUDF</h4>
+<pre>public int getFeaturesSupportedByUDF()</pre>
+<div class="block">For versioning, return features supported by the UDR writer.
+ <p>
+ This method can be used in the future to facilitate changes in
+ the UDR interface. UDR writers will be able to indicte through this
+ method whether they support new features.
+ <p>
+ The default implementation returns 0 (no extra features are supported).
+ <p></div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>A yet to be determined set of bit flags or codes for supported features.</dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!-- -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UDR.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/trafodion/sql/udr/TypeInfo.SQLTypeSubClassCode.html" title="enum in org.trafodion.sql.udr"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/trafodion/sql/udr/UDR.QueueStateInfo.html" title="class in org.trafodion.sql.udr"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/trafodion/sql/udr/UDR.html" target="_top">Frames</a></li>
+<li><a href="UDR.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li><a href="#nested_class_summary">Nested</a> | </li>
+<li><a href="#field_summary">Field</a> | </li>
+<li><a href="#constructor_summary">Constr</a> | </li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#field_detail">Field</a> | </li>
+<li><a href="#constructor_detail">Constr</a> | </li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2017. All rights reserved.</small></p>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/incubator-trafodion-site/blob/be8dfc15/apidocs/2.1.0/tmudr_javadoc/apidocs/org/trafodion/sql/udr/UDRException.html
----------------------------------------------------------------------
diff --git a/apidocs/2.1.0/tmudr_javadoc/apidocs/org/trafodion/sql/udr/UDRException.html b/apidocs/2.1.0/tmudr_javadoc/apidocs/org/trafodion/sql/udr/UDRException.html
new file mode 100644
index 0000000..4a4c26d
--- /dev/null
+++ b/apidocs/2.1.0/tmudr_javadoc/apidocs/org/trafodion/sql/udr/UDRException.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (version 1.7.0_99) on Fri Mar 03 08:42:48 UTC 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UDRException (trafodion-sql 2.1.0 API)</title>
+<meta name="date" content="2017-03-03">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="UDRException (trafodion-sql 2.1.0 API)";
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!-- -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UDRException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/trafodion/sql/udr/UDR.QueueStateInfo.html" title="class in org.trafodion.sql.udr"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/trafodion/sql/udr/UDRException.html" target="_top">Frames</a></li>
+<li><a href="UDRException.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor_summary">Constr</a> | </li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor_detail">Constr</a> | </li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.trafodion.sql.udr</div>
+<h2 title="Class UDRException" class="title">Class UDRException</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</a></li>
+<li>
+<ul class="inheritance">
+<li>org.trafodion.sql.udr.UDRException</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="strong">UDRException</span>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">This is the exception to throw when an error occurs in a UDR.
+ <p>
+ The SQLState value must be a value between 38000 and 38999,
+ since the SQL standard reserves SQLState class 38 for user-written
+ code. SQLState values 38950 to 38999 are reserved for use by
+ Trafodion code. Trafodion will produce SQL error code -11252 when
+ this exception is thrown.</div>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../serialized-form.html#org.trafodion.sql.udr.UDRException">Serialized Form</a></dd></dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRException.html#UDRException(int,%20java.lang.String,%20java.lang.Object...)">UDRException</a></strong>(int sqlState,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> printf_format,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>... args)</code>
+<div class="block">Constructor with an integer value for SQLSTATE</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRException.html#UDRException(java.lang.String,%20java.lang.String,%20java.lang.Object...)">UDRException</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> sqlState,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> printf_format,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>... args)</code>
+<div class="block">Constructor with a string value for SQLSTATE</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRException.html#getSQLState()">getSQLState</a></strong>()</code>
+<div class="block">Get the SQLSTATE value for this exception</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRException.html#getText()">getText</a></strong>()</code>
+<div class="block"><strong>Deprecated.</strong>
+<div class="block"><i>Use getMessage(), provided by the base class, instead.</i></div>
+</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Throwable">
+<!-- -->
+</a>
+<h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang">addSuppressed</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#getMessage()" title="class or interface in java.lang">getMessage</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace()" title="class or inter
face in java.lang">getStackTrace</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#getSuppressed()" title="class or interface in java.lang">getSuppressed</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#initCause(java.lang.Throwable)" title="class or interface in java.lang">initCause</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace()" title="class or interface in java.lang">printStackTrace</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang">printStackTrace</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang">printStackTrace</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lan
g/Throwable.html?is-external=true#setStackTrace(java.lang.StackTraceElement[])" title="class or interface in java.lang">setStackTrace</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="UDRException(int, java.lang.String, java.lang.Object...)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UDRException</h4>
+<pre>public UDRException(int sqlState,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> printf_format,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>... args)</pre>
+<div class="block">Constructor with an integer value for SQLSTATE</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sqlState</code> - ISO/ANSI SQLSTATE value to produce for this error.
+ According to the standard, this must be a value in
+ the range of 38000 - 38999 (note that since we use
+ an integer, non-numeric SQLSTATE values cannot be
+ generated.</dd><dd><code>printf_format</code> - a format string like it is used in printf,
+ with a variable list of arguments to be substituted.
+ Example:
+ new UDRException(38001, "num %d, string %s", 1, "a");</dd></dl>
+</li>
+</ul>
+<a name="UDRException(java.lang.String, java.lang.String, java.lang.Object...)">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UDRException</h4>
+<pre>public UDRException(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> sqlState,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> printf_format,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>... args)</pre>
+<div class="block">Constructor with a string value for SQLSTATE</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sqlState</code> - ISO/ANSI SQLSTATE value to produce for this error.
+ According to the standard, this must be a value of
+ the form 38xxx, with the xxx being digits or upper
+ case letters.</dd><dd><code>printf_format</code> - a format string like it is used in printf,
+ with a variable list of arguments to be substituted.</dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getSQLState()">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSQLState</h4>
+<pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getSQLState()</pre>
+<div class="block">Get the SQLSTATE value for this exception</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>A string, representing the SQLSTATE.</dd></dl>
+</li>
+</ul>
+<a name="getText()">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getText</h4>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getText()</pre>
+<div class="block"><span class="strong">Deprecated.</span> <i>Use getMessage(), provided by the base class, instead.</i></div>
+<div class="block">Get the error message associated with this exception</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>A string, representing the error message, including
+ any substituted text with the additional arguments
+ in the constructor.</dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!-- -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UDRException.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/trafodion/sql/udr/UDR.QueueStateInfo.html" title="class in org.trafodion.sql.udr"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html" title="class in org.trafodion.sql.udr"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/trafodion/sql/udr/UDRException.html" target="_top">Frames</a></li>
+<li><a href="UDRException.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor_summary">Constr</a> | </li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor_detail">Constr</a> | </li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2017. All rights reserved.</small></p>
+</body>
+</html>