blob: 7ce5a101b744f75a6530caa75ef420b6e2274282 [file] [log] [blame]
<!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 (1.7.0_251) on Sat May 02 18:54:05 PDT 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>UDRInvocationInfo (trafodion-sql 2.4.0 API)</title>
<meta name="date" content="2020-05-02">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="UDRInvocationInfo (trafodion-sql 2.4.0 API)";
}
}
catch(err) {
}
//-->
</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/UDRInvocationInfo.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/UDRException.html" title="class in org.trafodion.sql.udr"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.CallPhase.html" title="enum 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/UDRInvocationInfo.html" target="_top">Frames</a></li>
<li><a href="UDRInvocationInfo.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:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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 UDRInvocationInfo" class="title">Class UDRInvocationInfo</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://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="../../../../org/trafodion/sql/udr/TMUDRSerializableObject.html" title="class in org.trafodion.sql.udr">org.trafodion.sql.udr.TMUDRSerializableObject</a></li>
<li>
<ul class="inheritance">
<li>org.trafodion.sql.udr.UDRInvocationInfo</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">UDRInvocationInfo</span>
extends <a href="../../../../org/trafodion/sql/udr/TMUDRSerializableObject.html" title="class in org.trafodion.sql.udr">TMUDRSerializableObject</a></pre>
<div class="block">Describes an invocation of a UDR
<p> This combines the description of the UDR, its names and
properties with the parameters, input and output table layouts
and other information. An object of this class is passed to
most methods defined by the UDR writer. It can be used to
get input and parameter data and to set values of table-valued
output columns.</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">&nbsp;</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&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.CallPhase.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.CallPhase</a></strong></code>
<div class="block">Call phase for the UDR interface</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.DebugFlags.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.DebugFlags</a></strong></code>
<div class="block">Values used for the UDR_DEBUG_FLAGS CQD</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.FuncType.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.FuncType</a></strong></code>
<div class="block">Type of a TMUDF: Generic, Mapper or Reducer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.IsolationType.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.IsolationType</a></strong></code>
<div class="block">Indicates the level of trust the system has in the UDR.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.SQLAccessType.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.SQLAccessType</a></strong></code>
<div class="block">Type of SQL operations done in the UDF</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.SQLRightsType.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.SQLRightsType</a></strong></code>
<div class="block">Indicates what the effective user id for SQL operations
performed by the UDR.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.SQLTransactionType.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.SQLTransactionType</a></strong></code>
<div class="block">Indicates whether the UDF needs a transaction and
possibly which type of transaction.</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">&nbsp;</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/UDRInvocationInfo.html#addFormalParameter(org.trafodion.sql.udr.ColumnInfo)">addFormalParameter</a></strong>(<a href="../../../../org/trafodion/sql/udr/ColumnInfo.html" title="class in org.trafodion.sql.udr">ColumnInfo</a>&nbsp;param)</code>
<div class="block">Add a formal parameter to match an actual parameter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#addPassThruColumns()">addPassThruColumns</a></strong>()</code>
<div class="block">Add all columns of first table-valued input as output columns.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#addPassThruColumns(int,%20int,%20int)">addPassThruColumns</a></strong>(int&nbsp;inputTableNum,
int&nbsp;startInputColNum,
int&nbsp;endInputColNum)</code>
<div class="block">Add columns of table-valued inputs as output columns.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#copyPassThruData()">copyPassThruData</a></strong>()</code>
<div class="block">Copy values of all pass-thru columns from the first input to the output table.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#copyPassThruData(int,%20int,%20int)">copyPassThruData</a></strong>(int&nbsp;inputTableNum,
int&nbsp;startInputColNum,
int&nbsp;endInputColNum)</code>
<div class="block">Copy values of pass-thru columns from the input to the output table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.CallPhase.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.CallPhase</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getCallPhase()">getCallPhase</a></strong>()</code>
<div class="block">Get call phase.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/ComparisonPredicateInfo.html" title="class in org.trafodion.sql.udr">ComparisonPredicateInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getComparisonPredicate(int)">getComparisonPredicate</a></strong>(int&nbsp;i)</code>
<div class="block">Get a comparison predicate</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://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/UDRInvocationInfo.html#getCurrentRole()">getCurrentRole</a></strong>()</code>
<div class="block">Get current role.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://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/UDRInvocationInfo.html#getCurrentUser()">getCurrentUser</a></strong>()</code>
<div class="block">Get current user.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getDebugFlags()">getDebugFlags</a></strong>()</code>
<div class="block">Get debugging flags, set via CONTROL QUERY DEFAULT.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/ParameterListInfo.html" title="class in org.trafodion.sql.udr">ParameterListInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getFormalParameters()">getFormalParameters</a></strong>()</code>
<div class="block">Get the formal parameters of the UDR invocation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.FuncType.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.FuncType</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getFuncType()">getFuncType</a></strong>()</code>
<div class="block">Get the function type of this UDR invocation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getMyInstanceNum()">getMyInstanceNum</a></strong>()</code>
<div class="block">Get the instance number of this runtime process.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getNumParallelInstances()">getNumParallelInstances</a></strong>()</code>
<div class="block">Get the number of parallel instances working on this UDR invocation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getNumPredicates()">getNumPredicates</a></strong>()</code>
<div class="block">Return number of predicates to be applied in the context of this UDF.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getNumTableInputs()">getNumTableInputs</a></strong>()</code>
<div class="block">Get number of table-valued inputs provided.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/PredicateInfo.html" title="class in org.trafodion.sql.udr">PredicateInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getPredicate(int)">getPredicate</a></strong>(int&nbsp;i)</code>
<div class="block">Get the description of a predicate to be applied.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://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/UDRInvocationInfo.html#getQueryId()">getQueryId</a></strong>()</code>
<div class="block">Get query id.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://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/UDRInvocationInfo.html#getSessionUser()">getSessionUser</a></strong>()</code>
<div class="block">Get session user.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://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/UDRInvocationInfo.html#getUDRName()">getUDRName</a></strong>()</code>
<div class="block">Get the UDR name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/UDRWriterCompileTimeData.html" title="class in org.trafodion.sql.udr">UDRWriterCompileTimeData</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getUDRWriterCompileTimeData()">getUDRWriterCompileTimeData</a></strong>()</code>
<div class="block">Get data to persist between calls of the compile-time interface</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/TableInfo.html" title="class in org.trafodion.sql.udr">TableInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#in()">in</a></strong>()</code>
<div class="block">Get description of table-valued input with index 0.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/TableInfo.html" title="class in org.trafodion.sql.udr">TableInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#in(int)">in</a></strong>(int&nbsp;childNum)</code>
<div class="block">Get description of a table-valued input.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#isAComparisonPredicate(int)">isAComparisonPredicate</a></strong>(int&nbsp;i)</code>
<div class="block">Check whether a given predicate is a comparison predicate.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#isCompileTime()">isCompileTime</a></strong>()</code>
<div class="block">Check whether we are in the compile time interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#isRunTime()">isRunTime</a></strong>()</code>
<div class="block">Check whether we are in the run-time interface.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/TableInfo.html" title="class in org.trafodion.sql.udr">TableInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#out()">out</a></strong>()</code>
<div class="block">Get description of the table-valued result.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/trafodion/sql/udr/ParameterListInfo.html" title="class in org.trafodion.sql.udr">ParameterListInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#par()">par</a></strong>()</code>
<div class="block">Get parameters of the UDR invocation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#print()">print</a></strong>()</code>
<div class="block">Print the object, for use in debugging.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#propagateConstraintsFor1To1UDFs(boolean)">propagateConstraintsFor1To1UDFs</a></strong>(boolean&nbsp;exactlyOneRowPerInput)</code>
<div class="block">Propagate constraints for UDFs that return one result row for
every input row.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#pushPredicatesOnPassthruColumns()">pushPredicatesOnPassthruColumns</a></strong>()</code>
<div class="block">Push all predicates on pass-thru columns to the table-valued input.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#pushPredicatesOnPassthruColumns(int,%20int)">pushPredicatesOnPassthruColumns</a></strong>(int&nbsp;startPredNum,
int&nbsp;lastPredNum)</code>
<div class="block">Push predicates on pass-thru columns to the table-valued input.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setChildColumnUsage(int,%20int,%20org.trafodion.sql.udr.ColumnInfo.ColumnUseCode)">setChildColumnUsage</a></strong>(int&nbsp;inputTableNum,
int&nbsp;inputColumnNum,
<a href="../../../../org/trafodion/sql/udr/ColumnInfo.ColumnUseCode.html" title="enum in org.trafodion.sql.udr">ColumnInfo.ColumnUseCode</a>&nbsp;usage)</code>
<div class="block">Set the usage information for a column of a table-valued input</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setChildOrdering(int,%20org.trafodion.sql.udr.OrderInfo)">setChildOrdering</a></strong>(int&nbsp;inputTableNum,
<a href="../../../../org/trafodion/sql/udr/OrderInfo.html" title="class in org.trafodion.sql.udr">OrderInfo</a>&nbsp;orderInfo)</code>
<div class="block">Set the ORDER BY info for a table-valued input.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setChildPartitioning(int,%20org.trafodion.sql.udr.PartitionInfo)">setChildPartitioning</a></strong>(int&nbsp;inputTableNum,
<a href="../../../../org/trafodion/sql/udr/PartitionInfo.html" title="class in org.trafodion.sql.udr">PartitionInfo</a>&nbsp;partInfo)</code>
<div class="block">Set the PARTITION BY info for a table-valued input.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setFuncType(org.trafodion.sql.udr.UDRInvocationInfo.FuncType)">setFuncType</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.FuncType.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.FuncType</a>&nbsp;type)</code>
<div class="block">Set the function type of this UDR invocation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setPredicateEvaluationCode(int,%20org.trafodion.sql.udr.PredicateInfo.EvaluationCode)">setPredicateEvaluationCode</a></strong>(int&nbsp;predicateNum,
<a href="../../../../org/trafodion/sql/udr/PredicateInfo.EvaluationCode.html" title="enum in org.trafodion.sql.udr">PredicateInfo.EvaluationCode</a>&nbsp;c)</code>
<div class="block">Decide where to evaluate a predicate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setUDRWriterCompileTimeData(org.trafodion.sql.udr.UDRWriterCompileTimeData)">setUDRWriterCompileTimeData</a></strong>(<a href="../../../../org/trafodion/sql/udr/UDRWriterCompileTimeData.html" title="class in org.trafodion.sql.udr">UDRWriterCompileTimeData</a>&nbsp;compileTimeData)</code>
<div class="block">Set data to persist between calls of the compile-time interface</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setUnusedPassthruColumns()">setUnusedPassthruColumns</a></strong>()</code>
<div class="block">Mark any passthru columns that are not needed as unused.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://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="https://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="https://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="https://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="https://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="https://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="https://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="https://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="https://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="https://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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getUDRName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUDRName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getUDRName()</pre>
<div class="block">Get the UDR name.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Fully qualified name (catalog.schema.name) of the UDR.</dd></dl>
</li>
</ul>
<a name="getNumTableInputs()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumTableInputs</h4>
<pre>public&nbsp;int&nbsp;getNumTableInputs()</pre>
<div class="block">Get number of table-valued inputs provided.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Number of table-valued inputs provided.</dd></dl>
</li>
</ul>
<a name="in(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>in</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/TableInfo.html" title="class in org.trafodion.sql.udr">TableInfo</a>&nbsp;in(int&nbsp;childNum)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Get description of a table-valued input.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>childNum</code> - 0-based index of input table required. Currently only the value 0 is allowed.</dd>
<dt><span class="strong">Returns:</span></dt><dd>TableInfo reference for the table-valued input.</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="in()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>in</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/TableInfo.html" title="class in org.trafodion.sql.udr">TableInfo</a>&nbsp;in()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Get description of table-valued input with index 0.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>TableInfo reference for the table-valued input.</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="out()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>out</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/TableInfo.html" title="class in org.trafodion.sql.udr">TableInfo</a>&nbsp;out()</pre>
<div class="block">Get description of the table-valued result.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>TableInfo reference for the table-valued output.</dd></dl>
</li>
</ul>
<a name="getCallPhase()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCallPhase</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.CallPhase.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.CallPhase</a>&nbsp;getCallPhase()</pre>
<div class="block">Get call phase.
<p> This call is not normally needed, since we know which method
of UDR we are in. However, in some cases where the UDR
writer wants to use code in multiple call phases this might
be useful.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Enum for the call phase we are in.</dd></dl>
</li>
</ul>
<a name="getCurrentUser()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentUser</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCurrentUser()</pre>
<div class="block">Get current user.
<p> Get the id of the current user, which is the effective
user id at the time. This is usually the same as
the session user, except when a view or UDR uses "definer
privileges", substituting the current user with the
definer of the view or UDR. In SQL, this value is
called CURRENT_USER.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Current user.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getSessionUser()"><code>getSessionUser()</code></a></dd></dl>
</li>
</ul>
<a name="getSessionUser()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSessionUser</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSessionUser()</pre>
<div class="block">Get session user.
<p> Get the id of the session user, which is the user who
connected to the database. This is usually the same as
the current user, except when a view or UDR uses "definer
privileges", substituting the current user with the
definer of the view or UDR. In SQL, this value is
called SESSION_USER.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Session user.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#getCurrentUser()"><code>getCurrentUser()</code></a></dd></dl>
</li>
</ul>
<a name="getCurrentRole()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentRole</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCurrentRole()</pre>
<div class="block">Get current role.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Current role.</dd></dl>
</li>
</ul>
<a name="getQueryId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueryId</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getQueryId()</pre>
<div class="block">Get query id.
<p> The query id is only available at runtime. It is an empty
string at compile time.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Query id.</dd></dl>
</li>
</ul>
<a name="isCompileTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCompileTime</h4>
<pre>public&nbsp;boolean&nbsp;isCompileTime()</pre>
<div class="block">Check whether we are in the compile time interface.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true at compile time, false at run-time.</dd></dl>
</li>
</ul>
<a name="isRunTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunTime</h4>
<pre>public&nbsp;boolean&nbsp;isRunTime()</pre>
<div class="block">Check whether we are in the run-time interface.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>false at compile time, true at run-time.</dd></dl>
</li>
</ul>
<a name="getDebugFlags()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDebugFlags</h4>
<pre>public&nbsp;int&nbsp;getDebugFlags()</pre>
<div class="block">Get debugging flags, set via CONTROL QUERY DEFAULT.
<p> Debug flags are set via the UDR_DEBUG_FLAGS CONTROL QUERY DEFAULT
at compile time. This returns the value of this CQD. Usually not
needed.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Value the UDR_DEBUG_FLAGS CQD has or had at compile time).</dd></dl>
</li>
</ul>
<a name="getFuncType()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFuncType</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.FuncType.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.FuncType</a>&nbsp;getFuncType()</pre>
<div class="block">Get the function type of this UDR invocation.
<p> Returns the function type that can be set by the UDR writer
with the setFuncType() method.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Enum of the function type.</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>setFuncType(FuncType)</code></a></dd></dl>
</li>
</ul>
<a name="getFormalParameters()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFormalParameters</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/ParameterListInfo.html" title="class in org.trafodion.sql.udr">ParameterListInfo</a>&nbsp;getFormalParameters()</pre>
<div class="block">Get the formal parameters of the UDR invocation.
<p> Formal parameters are available only at compile time.
They are either defined in the CREATE FUNCTION DDL or through
the compile time interface. Note that number and types of formal
and actual parameters must match, once we return from the
describeParamsAndColumns() call, otherwise an error will be generated.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Formal parameter description.</dd></dl>
</li>
</ul>
<a name="par()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>par</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/ParameterListInfo.html" title="class in org.trafodion.sql.udr">ParameterListInfo</a>&nbsp;par()</pre>
<div class="block">Get parameters of the UDR invocation.
<p> These are the actual parameters. At compile time, if a constant
has been used, the value of this constant is available, using
getString(), getInt() etc. methods. The isAvailable() method indicates
whether the parameter is indeed available at compile time. Parameters
are always available at run-time.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Parameter description.</dd></dl>
</li>
</ul>
<a name="getNumPredicates()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumPredicates</h4>
<pre>public&nbsp;int&nbsp;getNumPredicates()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Return number of predicates to be applied in the context of this UDF.
<p> Don't use this method from within UDR#describeParamsAndColumns(UDRInvocationInfo),
since the predicates are not yet set up in that phase.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Number of predicates.</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="getPredicate(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPredicate</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/PredicateInfo.html" title="class in org.trafodion.sql.udr">PredicateInfo</a>&nbsp;getPredicate(int&nbsp;i)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Get the description of a predicate to be applied.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Description of the predicate.</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#setPredicateEvaluationCode(int,%20org.trafodion.sql.udr.PredicateInfo.EvaluationCode)"><code>setPredicateEvaluationCode(int, PredicateInfo.EvaluationCode)</code></a></dd></dl>
</li>
</ul>
<a name="isAComparisonPredicate(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAComparisonPredicate</h4>
<pre>public&nbsp;boolean&nbsp;isAComparisonPredicate(int&nbsp;i)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Check whether a given predicate is a comparison predicate.
<p> This returns whether it is safe to use method getComparisonPredicate().</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - Number/ordinal index of the predicate.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if predcate i is a comparison predicate, false otherwise.</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#getComparisonPredicate(int)"><code>getComparisonPredicate(int)</code></a></dd></dl>
</li>
</ul>
<a name="getComparisonPredicate(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getComparisonPredicate</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/ComparisonPredicateInfo.html" title="class in org.trafodion.sql.udr">ComparisonPredicateInfo</a>&nbsp;getComparisonPredicate(int&nbsp;i)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Get a comparison predicate
<p> Note: This will throw an exception if predicate i is not a
comparison predicate. Use method isAComparisonPredicate() to
make sure this is the case. Note also that the numbering
scheme is the same as that for getPredicate, so if there is
a mix of different predicate types, the numbers of comparison
predicates are not contiguous.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - Number/ordinal of the predicate to retrieve.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Comparison predicate.</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#getPredicate(int)"><code>getPredicate(int)</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#isAComparisonPredicate(int)"><code>isAComparisonPredicate(int)</code></a></dd></dl>
</li>
</ul>
<a name="addFormalParameter(org.trafodion.sql.udr.ColumnInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFormalParameter</h4>
<pre>public&nbsp;void&nbsp;addFormalParameter(<a href="../../../../org/trafodion/sql/udr/ColumnInfo.html" title="class in org.trafodion.sql.udr">ColumnInfo</a>&nbsp;param)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Add a formal parameter to match an actual parameter.
<p> Only use this method from within the
UDR#describeParamsAndColumns(UDRInvocationInfo) method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>param</code> - Info with name and type of the formal parameter.</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/UDR.html#describeParamsAndColumns(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeParamsAndColumns(UDRInvocationInfo)</code></a></dd></dl>
</li>
</ul>
<a name="setFuncType(org.trafodion.sql.udr.UDRInvocationInfo.FuncType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFuncType</h4>
<pre>public&nbsp;void&nbsp;setFuncType(<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.FuncType.html" title="enum in org.trafodion.sql.udr">UDRInvocationInfo.FuncType</a>&nbsp;type)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Set the function type of this UDR invocation.
<p> Use this simple method with some caution, since it has an effect
on how predicates are pushed down through TMUDFs with table-valued
inputs. See UDR#describeDataflowAndPredicates(UDRInvocationInfo) for details.
The function type also influences the default degree of parallelism for a TMUDF.
<p> Only use this method from within the
UDR#describeParamsAndColumns(UDRInvocationInfo) method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>type</code> - Function type of this 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#getFuncType()"><code>getFuncType()</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDR.html#describeParamsAndColumns(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeParamsAndColumns(UDRInvocationInfo)</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDR.html#describeDataflowAndPredicates(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeDataflowAndPredicates(UDRInvocationInfo)</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html#setDesiredDegreeOfParallelism(int)"><code>UDRPlanInfo.setDesiredDegreeOfParallelism(int)</code></a></dd></dl>
</li>
</ul>
<a name="addPassThruColumns(int, int, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPassThruColumns</h4>
<pre>public&nbsp;void&nbsp;addPassThruColumns(int&nbsp;inputTableNum,
int&nbsp;startInputColNum,
int&nbsp;endInputColNum)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Add columns of table-valued inputs as output columns.
<p> Many TMUDFs make the column values of their table-valued inputs available
as output columns. Such columns are called "pass-thru" columns. This
method is an easy interface to create such pass-thru columns. Note that
if a column is marked as pass-thru column, the UDF must copy the input
value to the output (e.g. with the copyPassThruData() method). If it fails
to do that, incorrect results may occur, because the compiler makes
the assumptions that these values are the same.
<p> Only use this method from within the
UDR#describeParamsAndColumns(UDRInvocationInfo) method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inputTableNum</code> - Index of table-valued input to add.</dd><dd><code>startInputColNum</code> - First column of the table-valued input to add
as an output column.</dd><dd><code>endInputColNum</code> - Last column of the table-valued input to add
as an output column (note this is inclusive)
or -1 to add all remaining column.</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/UDR.html#describeParamsAndColumns(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeParamsAndColumns(UDRInvocationInfo)</code></a>,
<a href="../../../../org/trafodion/sql/udr/ProvenanceInfo.html" title="class in org.trafodion.sql.udr"><code>ProvenanceInfo</code></a>,
<a href="../../../../org/trafodion/sql/udr/ColumnInfo.html#getProvenance()"><code>ColumnInfo.getProvenance()</code></a></dd></dl>
</li>
</ul>
<a name="addPassThruColumns()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPassThruColumns</h4>
<pre>public&nbsp;void&nbsp;addPassThruColumns()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Add all columns of first table-valued input as output columns.
<p> Many TMUDFs make the column values of their table-valued inputs available
as output columns. Such columns are called "pass-thru" columns. This
method is an easy interface to create such pass-thru columns. Note that
if a column is marked as pass-thru column, the UDF must copy the input
value to the output (e.g. with the copyPassThruData() method). If it fails
to do that, incorrect results may occur, because the compiler makes
the assumptions that these values are the same.
<p> Only use this method from within the
UDR#describeParamsAndColumns(UDRInvocationInfo) method.</div>
<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><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDR.html#describeParamsAndColumns(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeParamsAndColumns(UDRInvocationInfo)</code></a>,
<a href="../../../../org/trafodion/sql/udr/ProvenanceInfo.html" title="class in org.trafodion.sql.udr"><code>ProvenanceInfo</code></a>,
<a href="../../../../org/trafodion/sql/udr/ColumnInfo.html#getProvenance()"><code>ColumnInfo.getProvenance()</code></a></dd></dl>
</li>
</ul>
<a name="setChildPartitioning(int, org.trafodion.sql.udr.PartitionInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setChildPartitioning</h4>
<pre>public&nbsp;void&nbsp;setChildPartitioning(int&nbsp;inputTableNum,
<a href="../../../../org/trafodion/sql/udr/PartitionInfo.html" title="class in org.trafodion.sql.udr">PartitionInfo</a>&nbsp;partInfo)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Set the PARTITION BY info for a table-valued input.
<p> This method allows the UDR writer to override the
PARTITION BY syntax specified for a table-valued input
in the query. Use it to change the required partitioning.
<p> Only use this method from within the
UDR#describeParamsAndColumns() method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inputTableNum</code> - Number of table-valued input to set.</dd><dd><code>partInfo</code> - New information on required partitioning for this input table.</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/UDR.html#describeParamsAndColumns(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeParamsAndColumns(UDRInvocationInfo)</code></a></dd></dl>
</li>
</ul>
<a name="setChildOrdering(int, org.trafodion.sql.udr.OrderInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setChildOrdering</h4>
<pre>public&nbsp;void&nbsp;setChildOrdering(int&nbsp;inputTableNum,
<a href="../../../../org/trafodion/sql/udr/OrderInfo.html" title="class in org.trafodion.sql.udr">OrderInfo</a>&nbsp;orderInfo)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Set the ORDER BY info for a table-valued input.
<p> This method allows the UDR writer to override the
ORDER BY syntax specified for a table-valued input
in the query. Use it to change the required order.
<p> Only use this method from within the
UDR#describeParamsAndColumns(UDRInvocationInfo) method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inputTableNum</code> - Number of table-valued input to set.</dd><dd><code>orderInfo</code> - New information on required order for this input table.</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/UDR.html#describeParamsAndColumns(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeParamsAndColumns(UDRInvocationInfo)</code></a></dd></dl>
</li>
</ul>
<a name="setChildColumnUsage(int, int, org.trafodion.sql.udr.ColumnInfo.ColumnUseCode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setChildColumnUsage</h4>
<pre>public&nbsp;void&nbsp;setChildColumnUsage(int&nbsp;inputTableNum,
int&nbsp;inputColumnNum,
<a href="../../../../org/trafodion/sql/udr/ColumnInfo.ColumnUseCode.html" title="enum in org.trafodion.sql.udr">ColumnInfo.ColumnUseCode</a>&nbsp;usage)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Set the usage information for a column of a table-valued input
<p> This method allows the UDR writer to specify whether a given
child column is needed or not.
<p> Only use this method from within the
UDR#describeDataflowAndPredicates(UDRInvocationInfo) method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inputTableNum</code> - Number of table-valued input to set.</dd><dd><code>inputColumnNum</code> - Column number for the column to set.</dd><dd><code>usage</code> - New usage for this column.</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#setUnusedPassthruColumns()"><code>setUnusedPassthruColumns()</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDR.html#describeDataflowAndPredicates(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeDataflowAndPredicates(UDRInvocationInfo)</code></a></dd></dl>
</li>
</ul>
<a name="setUnusedPassthruColumns()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUnusedPassthruColumns</h4>
<pre>public&nbsp;void&nbsp;setUnusedPassthruColumns()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Mark any passthru columns that are not needed as unused.
<p> For any passthru columns that are marked as NOT_USED or NOT_PRODUCED in
the table-valued result, set the corresponding input columns
to NOT_USED as well. Note that this assumes that the UDF
does not need these columns, either! The usage for the passthru column
itself is also set to NOT_PRODUCED, since the UDF could not produce
the column without having access to the corresponding input column.
<p> Only use this method from within the
UDR#describeDataflowAndPredicates(UDRInvocationInfo) method.</div>
<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><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#addPassThruColumns()"><code>addPassThruColumns()</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#setChildColumnUsage(int,%20int,%20org.trafodion.sql.udr.ColumnInfo.ColumnUseCode)"><code>setChildColumnUsage(int,int,ColumnInfo.ColumnUseCode)</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDR.html#describeDataflowAndPredicates(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeDataflowAndPredicates(UDRInvocationInfo)</code></a></dd></dl>
</li>
</ul>
<a name="setPredicateEvaluationCode(int, org.trafodion.sql.udr.PredicateInfo.EvaluationCode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPredicateEvaluationCode</h4>
<pre>public&nbsp;void&nbsp;setPredicateEvaluationCode(int&nbsp;predicateNum,
<a href="../../../../org/trafodion/sql/udr/PredicateInfo.EvaluationCode.html" title="enum in org.trafodion.sql.udr">PredicateInfo.EvaluationCode</a>&nbsp;c)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Decide where to evaluate a predicate.
<p> Only use this method from within the
UDR#describeDataflowAndPredicates() method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>predicateNum</code> - Number/index of predicate returned by getPredicate()
method.</dd><dd><code>c</code> - Evaluation code for this predicate.</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#getPredicate(int)"><code>getPredicate(int)</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDR.html#describeDataflowAndPredicates(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeDataflowAndPredicates(UDRInvocationInfo)</code></a></dd></dl>
</li>
</ul>
<a name="pushPredicatesOnPassthruColumns(int, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pushPredicatesOnPassthruColumns</h4>
<pre>public&nbsp;void&nbsp;pushPredicatesOnPassthruColumns(int&nbsp;startPredNum,
int&nbsp;lastPredNum)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Push predicates on pass-thru columns to the table-valued input.
<p> Push one or more predicates to their corresponding table-valued input,
if they reference only columns from that input, otherwise leave the
predicate(s) unchanged.
<p> Only use this method from within the
UDR#describeDataflowAndPredicates(UDRInvocationInfo) method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>startPredNum</code> - Number/index of first predicate to be pushed.</dd><dd><code>lastPredNum</code> - Number/index of last predicate to be pushed (inclusive)
or -1 to push all remaining predicates.</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/PredicateInfo.html#setEvaluationCode(org.trafodion.sql.udr.PredicateInfo.EvaluationCode)"><code>PredicateInfo.setEvaluationCode(PredicateInfo.EvaluationCode)</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDR.html#describeDataflowAndPredicates(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeDataflowAndPredicates(UDRInvocationInfo)</code></a></dd></dl>
</li>
</ul>
<a name="pushPredicatesOnPassthruColumns()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pushPredicatesOnPassthruColumns</h4>
<pre>public&nbsp;void&nbsp;pushPredicatesOnPassthruColumns()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Push all predicates on pass-thru columns to the table-valued input.
<p> Push all predicates to their corresponding table-valued input,
if they reference only columns from that input, otherwise leave the
predicate(s) unchanged.
<p> Only use this method from within the
UDR#describeDataflowAndPredicates(UDRInvocationInfo) method.</div>
<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><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/PredicateInfo.html#setEvaluationCode(org.trafodion.sql.udr.PredicateInfo.EvaluationCode)"><code>PredicateInfo.setEvaluationCode(PredicateInfo.EvaluationCode)</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDR.html#describeDataflowAndPredicates(org.trafodion.sql.udr.UDRInvocationInfo)"><code>UDR.describeDataflowAndPredicates(UDRInvocationInfo)</code></a></dd></dl>
</li>
</ul>
<a name="propagateConstraintsFor1To1UDFs(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>propagateConstraintsFor1To1UDFs</h4>
<pre>public&nbsp;void&nbsp;propagateConstraintsFor1To1UDFs(boolean&nbsp;exactlyOneRowPerInput)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Propagate constraints for UDFs that return one result row for
every input row.
<p> Use this method only if the UDF returns no more than one result row for
every input row it reads from its single table-valued input. Note that
it is ok for the UDF to return no result rows for some input rows.
Wrong results may be returned by SQL statements involving this UDF if
the UDF does at runtime not conform to the 1x1 relationship of rows.
<p> Only use this method from within the
UDR#describeConstraints(UDRInvocationInfo) method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>exactlyOneRowPerInput</code> - Indicates whether the UDF returns exactly
one output row (true) or at most one output
row (false) for every input row.</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="getUDRWriterCompileTimeData()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUDRWriterCompileTimeData</h4>
<pre>public&nbsp;<a href="../../../../org/trafodion/sql/udr/UDRWriterCompileTimeData.html" title="class in org.trafodion.sql.udr">UDRWriterCompileTimeData</a>&nbsp;getUDRWriterCompileTimeData()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Get data to persist between calls of the compile-time interface
<p> The UDR writer must use a static or dynamic cast to get a pointer
to the derived class.
<p> Only use this method at compile time.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>UDR writer-specific data that was previously attached or NULL.</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#setUDRWriterCompileTimeData(org.trafodion.sql.udr.UDRWriterCompileTimeData)"><code>setUDRWriterCompileTimeData(UDRWriterCompileTimeData)</code></a></dd></dl>
</li>
</ul>
<a name="setUDRWriterCompileTimeData(org.trafodion.sql.udr.UDRWriterCompileTimeData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUDRWriterCompileTimeData</h4>
<pre>public&nbsp;void&nbsp;setUDRWriterCompileTimeData(<a href="../../../../org/trafodion/sql/udr/UDRWriterCompileTimeData.html" title="class in org.trafodion.sql.udr">UDRWriterCompileTimeData</a>&nbsp;compileTimeData)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Set data to persist between calls of the compile-time interface
<p> This call can be used to attach an object derived from class
UDRWriterCompileTimeData to the UDRInvocationInfo object. Once
attached, the data will be carried between the stages of the
compiler interface and can be used to keep state. Note that
this data will be deleted at the end of the compiler phase and
will not persist until runtime.
<p> Only use this method at compile time.
<p> To keep state for specific plan alternatives, use the
UDRPlanInfo#setUDRWriterCompileTimeData(UDRWriterCompileTimeData) method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>compileTimeData</code> - UDR writer-defined compile-time data to attach.</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#getUDRWriterCompileTimeData()"><code>getUDRWriterCompileTimeData()</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDRPlanInfo.html#setUDRWriterCompileTimeData(org.trafodion.sql.udr.UDRWriterCompileTimeData)"><code>UDRPlanInfo.setUDRWriterCompileTimeData(UDRWriterCompileTimeData)</code></a></dd></dl>
</li>
</ul>
<a name="copyPassThruData(int, int, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyPassThruData</h4>
<pre>public&nbsp;void&nbsp;copyPassThruData(int&nbsp;inputTableNum,
int&nbsp;startInputColNum,
int&nbsp;endInputColNum)
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Copy values of pass-thru columns from the input to the output table.
<p> This method is an easy way to set the values of the table-valued result
row from their corresponding values in the table-valued inputs.
Note that the UDR must set all the values of the pass-thru columns to
the corresponsing values of the input tables. If it fails to do that,
some optimizations done by Trafodion could lead to wrong results
(e.g. some predicates could be applied incorrectly). Every TMUDF with
table-valued inputs and pass-thru columns should call this method for
every row it emits.
<p> This method can only be called from within
UDR#processData(UDRInvocationInfo, UDRPlanInfo).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inputTableNum</code> - Number of table-valued input to copy from.</dd><dd><code>startInputColNum</code> - First column number in the input table to copy</dd><dd><code>endInputColNum</code> - Last column number in the input table to copy
(inclusive) or -1 to copy all remaining columns</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#addPassThruColumns(int,%20int,%20int)"><code>addPassThruColumns(int,int,int)</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDR.html#processData(org.trafodion.sql.udr.UDRInvocationInfo,%20org.trafodion.sql.udr.UDRPlanInfo)"><code>UDR.processData(UDRInvocationInfo, UDRPlanInfo)</code></a></dd></dl>
</li>
</ul>
<a name="copyPassThruData()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyPassThruData</h4>
<pre>public&nbsp;void&nbsp;copyPassThruData()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Copy values of all pass-thru columns from the first input to the output table.
<p> This method is an easy way to set the values of the table-valued result
row from their corresponding values in the table-valued inputs.
Note that the UDR must set all the values of the pass-thru columns to
the corresponsing values of the input tables. If it fails to do that,
some optimizations done by Trafodion could lead to wrong results
(e.g. some predicates could be applied incorrectly). Every TMUDF with
table-valued inputs and pass-thru columns should call this method for
every row it emits.
<p> This method can only be called from within
UDR#processData(UDRInvocationInfo, UDRPlanInfo).</div>
<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><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.html#addPassThruColumns(int,%20int,%20int)"><code>addPassThruColumns(int,int,int)</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDR.html#processData(org.trafodion.sql.udr.UDRInvocationInfo,%20org.trafodion.sql.udr.UDRPlanInfo)"><code>UDR.processData(UDRInvocationInfo, UDRPlanInfo)</code></a></dd></dl>
</li>
</ul>
<a name="getNumParallelInstances()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumParallelInstances</h4>
<pre>public&nbsp;int&nbsp;getNumParallelInstances()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Get the number of parallel instances working on this UDR invocation.
<p> Use this method to find out how many parallel instances are
executing this UDR.
<p> This method can only be called from within
UDR#processData(UDRInvocationInfo, UDRPlanInfo).</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Number of parallel instances for this 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#getMyInstanceNum()"><code>getMyInstanceNum()</code></a></dd></dl>
</li>
</ul>
<a name="getMyInstanceNum()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMyInstanceNum</h4>
<pre>public&nbsp;int&nbsp;getMyInstanceNum()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Get the instance number of this runtime process.
<p> Use this method to find out which of the parallel instances
executing a UDR this process is.
<p> This method can only be called from within
UDR#processData(UDRInvocationInfo, UDRPlanInfo).</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>A number between 0 and getNumParallelInstances() - 1.</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#getNumParallelInstances()"><code>getNumParallelInstances()</code></a></dd></dl>
</li>
</ul>
<a name="print()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>print</h4>
<pre>public&nbsp;void&nbsp;print()
throws <a href="../../../../org/trafodion/sql/udr/UDRException.html" title="class in org.trafodion.sql.udr">UDRException</a></pre>
<div class="block">Print the object, for use in debugging.</div>
<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><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/trafodion/sql/udr/UDR.html#debugLoop()"><code>UDR.debugLoop()</code></a>,
<a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.DebugFlags.html#PRINT_INVOCATION_INFO_AT_RUN_TIME"><code>UDRInvocationInfo.DebugFlags.PRINT_INVOCATION_INFO_AT_RUN_TIME</code></a></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/UDRInvocationInfo.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/UDRException.html" title="class in org.trafodion.sql.udr"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/trafodion/sql/udr/UDRInvocationInfo.CallPhase.html" title="enum 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/UDRInvocationInfo.html" target="_top">Frames</a></li>
<li><a href="UDRInvocationInfo.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:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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 &#169; 2020. All rights reserved.</small></p>
</body>
</html>