<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmudr: tmudr::TupleInfo Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>tmudr</b>::<a class="el" href="classtmudr_1_1TupleInfo.html">TupleInfo</a>
  </div>
</div>
<div class="contents">
<h1>tmudr::TupleInfo Class Reference</h1><!-- doxytag: class="tmudr::TupleInfo" --><!-- doxytag: inherits="tmudr::TMUDRSerializableObject" -->
<p>Common base class for parameter lists and row layouts.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="sqludr_8h_source.html">sqludr.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for tmudr::TupleInfo:</div>
<div class="dynsection">
 <div class="center">
  <img src="classtmudr_1_1TupleInfo.gif" usemap="#tmudr::TupleInfo_map" alt=""/>
  <map id="tmudr::TupleInfo_map" name="tmudr::TupleInfo_map">
<area href="classtmudr_1_1ParameterListInfo.html" alt="tmudr::ParameterListInfo" shape="rect" coords="0,56,147,80"/>
<area href="classtmudr_1_1TableInfo.html" alt="tmudr::TableInfo" shape="rect" coords="157,56,304,80"/>
</map>
 </div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a9414181fd102b20706eabf561f0d6dd3">getNumColumns</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a364c0f7153519e21e5d10ea8f54f6e25">getColNum</a> (const char *colName) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#af702ba5fd84731694221e478c740e14a">getColNum</a> (const std::string &amp;colName) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a460d01d871fe2be13ee90e9c5ce9f930">getColumn</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a1687dc30e4a9db80f6fdb95cacdf350b">getColumn</a> (const std::string &amp;colName) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classtmudr_1_1TypeInfo.html">TypeInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a21b3421c855b85a3a9186a8c37d5637b">getType</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtmudr_1_1TypeInfo.html#a9804443638ca97a8e5dbfeebe0d08ca6">TypeInfo::SQLTypeClassCode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a3b0d60692c6fa1e2b768908ae95095e9">getSQLTypeClass</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#afb5f2131ce96a7cfb541d1147b025e76">getInt</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a7d3bf0cfef4386809c3b27d8c87302a2">getInt</a> (const std::string &amp;colName) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a11fd53d410ffee07bb2bbde927913e47">getLong</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a007ae4ad517e42418191614456042691">getLong</a> (const std::string &amp;colName) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a49614778f7d1988a262bab185a4f0ce2">getDouble</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a2296e6f2acf21b3bec769f98fee8513e">getDouble</a> (const std::string &amp;colName) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a84e1379f2809a1cf6adef8dccbcba836">getString</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a06171cd4681221471257a05f88e0cb01">getString</a> (const std::string &amp;colName) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#ab3391ad53c5abadb13dac6249be9d7bc">getBoolean</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#ae666607b97e3b27336dcf1748f9d5ed9">getBoolean</a> (const std::string &amp;colName) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#ab7ed8aa0f36a9dd2a5570128f5eb12a1">getRaw</a> (int colNum, int &amp;byteLen) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a53ea8b479aa67e9d1b19aad2ea16411d">getTime</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#adae91c6ed0e61babc2fe71fcb53091fa">isAvailable</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#ac6a3327145169b0ce9bb3637d665170f">getDelimitedRow</a> (std::string &amp;row, char delim='|', bool quote=false, char quoteSymbol= '&quot;', int firstColumn = 0, int lastColumn = -1) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a8aaa05953f4d2b349923224443a7c1d7">wasNull</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a57ef5a6d63c758726572e0f920a59165">setInt</a> (int colNum, int val) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a197fb1a81a24e8f296e66afb4fdc7fd4">setLong</a> (int colNum, long val) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a53aa76fd23f08d77a259e71041cb0593">setDouble</a> (int colNum, double val) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a206b6845bcbfa47de0843447142199c1">setString</a> (int colNum, const char *val) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a38539f3b5afee046643392d2b44c1c3e">setString</a> (int colNum, const char *val, int stringLen) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#af3f5ca05624d489c4fa408c6797ba91b">setString</a> (int colNum, const std::string &amp;val) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a1b988ee0269c747eadea2857dc644efd">setTime</a> (int colNum, time_t val) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a017468a30a494b09e206299db69394e6">setBoolean</a> (int colNum, bool val) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a374da12aaec8a620afedf7eb5f0e19f3">setFromDelimitedRow</a> (const char *row, char delim='|', bool quote=false, char quoteSymbol= '&quot;', int firstColumnToSet = 0, int lastColumnToSet = -1, int numDelimColsToSkip = 0) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a4bca6c587b8995e0e6d074e086d998a7">setNull</a> (int colNum) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#aaf49e5e83a73c3f34375b837dadbdb31">getColumn</a> (int colNum)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a2fb6559fd02ba70881c88e6b2bf5518c">getColumn</a> (const std::string &amp;colName)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a597bb78ac5815850d014e1ad3d1340eb">addColumn</a> (const <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp;column)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#ac45f91bb0400a5030e087bdb2ce3acf1">addIntColumn</a> (const char *colName, bool isNullable=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a9f4c7996f9eefca3ebe9823dcec89607">addLongColumn</a> (const char *colName, bool isNullable=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#ae3a882a83201d49b0933b6d189e54c1d">addDoubleColumn</a> (const char *colName, bool isNullable=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a8952e96505708cbde4ff3f611fdaf613">addCharColumn</a> (const char *colName, int length, bool isNullable=false, <a class="el" href="classtmudr_1_1TypeInfo.html#a66c9cc313ff649857e47285a80af619d">TypeInfo::SQLCharsetCode</a> charset=TypeInfo::CHARSET_UTF8, <a class="el" href="classtmudr_1_1TypeInfo.html#ab0390570f1a369a2ad216999bf033568">TypeInfo::SQLCollationCode</a> collation=TypeInfo::SYSTEM_COLLATION)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#ad8be3c967e7dabf8b80a8ee6366736b1">addVarCharColumn</a> (const char *colName, int length, bool isNullable=false, <a class="el" href="classtmudr_1_1TypeInfo.html#a66c9cc313ff649857e47285a80af619d">TypeInfo::SQLCharsetCode</a> charset=TypeInfo::CHARSET_UTF8, <a class="el" href="classtmudr_1_1TypeInfo.html#ab0390570f1a369a2ad216999bf033568">TypeInfo::SQLCollationCode</a> collation=TypeInfo::SYSTEM_COLLATION)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a8aedec53dff3ec91f2b71ce30c5aa6ae">addColumns</a> (const std::vector&lt; <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> * &gt; &amp;columns)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a5e340f907ceaa51373508ff192078980">addColumnAt</a> (const <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp;column, int position)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#aef3d85a827d91f938648856b7b08768b">deleteColumn</a> (int i)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#af8b0d51c40f855dd38fc7ddd94f39d11">deleteColumn</a> (const std::string &amp;name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#a7befa22db4c7ae677da681dc13d3ef99">getRecordLength</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtmudr_1_1TupleInfo.html#aa5309f0edb4901f0e07f0e8010ca63d6">print</a> ()</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Common base class for parameter lists and row layouts. </p>
<p>Describes a list of scalars, which could be columns of a table or a parameter list </p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a8952e96505708cbde4ff3f611fdaf613"></a><!-- doxytag: member="tmudr::TupleInfo::addCharColumn" ref="a8952e96505708cbde4ff3f611fdaf613" args="(const char *colName, int length, bool isNullable=false, TypeInfo::SQLCharsetCode charset=TypeInfo::CHARSET_UTF8, TypeInfo::SQLCollationCode collation=TypeInfo::SYSTEM_COLLATION)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::addCharColumn </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>colName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isNullable</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classtmudr_1_1TypeInfo.html#a66c9cc313ff649857e47285a80af619d">TypeInfo::SQLCharsetCode</a>&nbsp;</td>
          <td class="paramname"> <em>charset</em> = <code>TypeInfo::CHARSET_UTF8</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classtmudr_1_1TypeInfo.html#ab0390570f1a369a2ad216999bf033568">TypeInfo::SQLCollationCode</a>&nbsp;</td>
          <td class="paramname"> <em>collation</em> = <code>TypeInfo::SYSTEM_COLLATION</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a fixed character output column.</p>
<p>The new column is added at the end.</p>
<p>Only use this method from within the <a class="el" href="classtmudr_1_1UDR.html#a795387c54b27b667ae73b668f606595c">UDR::describeParamsAndColumns()</a> method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of the column to add. Use UPPER CASE letters, digits and underscore, otherwise you will need to use delimited column names with matching case in Trafodion. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>Length of the new character column. For single-byte and variable byte character sets, the length is specified in bytes. For UTF-8, this is equivalent to CHAR(length BYTES) in SQL. For UCS2, the length is in UCS2 16-bit characters. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isNullable</em>&nbsp;</td><td>true if the added column should be nullable, false if the added column should have the NOT NULL constraint. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>charset</em>&nbsp;</td><td>Character set of the new column. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>collation</em>&nbsp;</td><td>Collation of the new column. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a597bb78ac5815850d014e1ad3d1340eb"></a><!-- doxytag: member="tmudr::TupleInfo::addColumn" ref="a597bb78ac5815850d014e1ad3d1340eb" args="(const ColumnInfo &amp;column)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::addColumn </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>column</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a new column.</p>
<p>Only use this method from within the following method: </p>
<ul>
<li><a class="el" href="classtmudr_1_1UDR.html#a795387c54b27b667ae73b668f606595c">UDR::describeParamsAndColumns()</a></li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Info of the new column to add. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5e340f907ceaa51373508ff192078980"></a><!-- doxytag: member="tmudr::TupleInfo::addColumnAt" ref="a5e340f907ceaa51373508ff192078980" args="(const ColumnInfo &amp;column, int position)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::addColumnAt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>column</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>position</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a new column at a specified position.</p>
<p>Only use this method from within the <a class="el" href="classtmudr_1_1UDR.html#a795387c54b27b667ae73b668f606595c">UDR::describeParamsAndColumns()</a> method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td><a class="el" href="classtmudr_1_1ColumnInfo.html" title="Describes a column in an input or output table or a parameter.">ColumnInfo</a> object describing the new column. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>position</em>&nbsp;</td><td>Position/ordinal number of the new column. All existing columns with ordinal numbers greater or equal to position will be shifted by one. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8aedec53dff3ec91f2b71ce30c5aa6ae"></a><!-- doxytag: member="tmudr::TupleInfo::addColumns" ref="a8aedec53dff3ec91f2b71ce30c5aa6ae" args="(const std::vector&lt; ColumnInfo * &gt; &amp;columns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::addColumns </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>columns</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add multiple columns to the table-valued output.</p>
<p>Only use this method from within the <a class="el" href="classtmudr_1_1UDR.html#a795387c54b27b667ae73b668f606595c">UDR::describeParamsAndColumns()</a> method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Vector of <a class="el" href="classtmudr_1_1ColumnInfo.html" title="Describes a column in an input or output table or a parameter.">ColumnInfo</a> objects describing the columns to add. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae3a882a83201d49b0933b6d189e54c1d"></a><!-- doxytag: member="tmudr::TupleInfo::addDoubleColumn" ref="ae3a882a83201d49b0933b6d189e54c1d" args="(const char *colName, bool isNullable=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::addDoubleColumn </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>colName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isNullable</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a double output column.</p>
<p>The new column is added at the end.</p>
<p>Only use this method from within the <a class="el" href="classtmudr_1_1UDR.html#a795387c54b27b667ae73b668f606595c">UDR::describeParamsAndColumns()</a> method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of the column to add. Use UPPER CASE letters, digits and underscore, otherwise you will need to use delimited column names with matching case in Trafodion. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isNullable</em>&nbsp;</td><td>true if the added column should be nullable, false if the added column should have the NOT NULL constraint. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac45f91bb0400a5030e087bdb2ce3acf1"></a><!-- doxytag: member="tmudr::TupleInfo::addIntColumn" ref="ac45f91bb0400a5030e087bdb2ce3acf1" args="(const char *colName, bool isNullable=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::addIntColumn </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>colName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isNullable</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add an integer output column.</p>
<p>The new column is added at the end.</p>
<p>Only use this method from within the <a class="el" href="classtmudr_1_1UDR.html#a795387c54b27b667ae73b668f606595c">UDR::describeParamsAndColumns()</a> method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of the column to add. Use UPPER CASE letters, digits and underscore, otherwise you will need to use delimited column names with matching case in Trafodion. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isNullable</em>&nbsp;</td><td>true if the added column should be nullable, false if the added column should have the NOT NULL constraint. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9f4c7996f9eefca3ebe9823dcec89607"></a><!-- doxytag: member="tmudr::TupleInfo::addLongColumn" ref="a9f4c7996f9eefca3ebe9823dcec89607" args="(const char *colName, bool isNullable=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::addLongColumn </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>colName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isNullable</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a long output column.</p>
<p>The new column is added at the end.</p>
<p>Only use this method from within the <a class="el" href="classtmudr_1_1UDR.html#a795387c54b27b667ae73b668f606595c">UDR::describeParamsAndColumns()</a> method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of the column to add. Use UPPER CASE letters, digits and underscore, otherwise you will need to use delimited column names with matching case in Trafodion. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isNullable</em>&nbsp;</td><td>true if the added column should be nullable, false if the added column should have the NOT NULL constraint. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad8be3c967e7dabf8b80a8ee6366736b1"></a><!-- doxytag: member="tmudr::TupleInfo::addVarCharColumn" ref="ad8be3c967e7dabf8b80a8ee6366736b1" args="(const char *colName, int length, bool isNullable=false, TypeInfo::SQLCharsetCode charset=TypeInfo::CHARSET_UTF8, TypeInfo::SQLCollationCode collation=TypeInfo::SYSTEM_COLLATION)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::addVarCharColumn </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>colName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isNullable</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classtmudr_1_1TypeInfo.html#a66c9cc313ff649857e47285a80af619d">TypeInfo::SQLCharsetCode</a>&nbsp;</td>
          <td class="paramname"> <em>charset</em> = <code>TypeInfo::CHARSET_UTF8</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classtmudr_1_1TypeInfo.html#ab0390570f1a369a2ad216999bf033568">TypeInfo::SQLCollationCode</a>&nbsp;</td>
          <td class="paramname"> <em>collation</em> = <code>TypeInfo::SYSTEM_COLLATION</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a VARCHAR output column.</p>
<p>The new column is added at the end.</p>
<p>Only use this method from within the <a class="el" href="classtmudr_1_1UDR.html#a795387c54b27b667ae73b668f606595c">UDR::describeParamsAndColumns()</a> method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of the column to add. Use UPPER CASE letters, digits and underscore, otherwise you will need to use delimited column names with matching case in Trafodion. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>Length of the new character column. For single-byte and variable byte character sets, the length is specified in bytes. For UTF-8, this is equivalent to CHAR(length BYTES). For UCS2, the length is in UCS2 16-bit characters. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isNullable</em>&nbsp;</td><td>true if the added column should be nullable, false if the added column should have the NOT NULL constraint. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>charset</em>&nbsp;</td><td>Character set of the new column. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>collation</em>&nbsp;</td><td>Collation of the new column. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af8b0d51c40f855dd38fc7ddd94f39d11"></a><!-- doxytag: member="tmudr::TupleInfo::deleteColumn" ref="af8b0d51c40f855dd38fc7ddd94f39d11" args="(const std::string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::deleteColumn </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Delete a column with a specified column name.</p>
<p>The first column that matches the specified column name will be deleted.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the column to be deleted. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aef3d85a827d91f938648856b7b08768b"></a><!-- doxytag: member="tmudr::TupleInfo::deleteColumn" ref="aef3d85a827d91f938648856b7b08768b" args="(int i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::deleteColumn </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Delete a column of the table-valued output.</p>
<p>Only use this method from within the <a class="el" href="classtmudr_1_1UDR.html#a795387c54b27b667ae73b668f606595c">UDR::describeParamsAndColumns()</a> method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>Position/ordinal (0-based) of column to be deleted. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae666607b97e3b27336dcf1748f9d5ed9"></a><!-- doxytag: member="tmudr::TupleInfo::getBoolean" ref="ae666607b97e3b27336dcf1748f9d5ed9" args="(const std::string &amp;colName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TupleInfo::getBoolean </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>colName</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a boolean value of a column or parameter identified by name.</p>
<p>This method is modeled after the JDBC interface.</p>
<p>Use this method at runtime. It cannot be used for actual parameters that are available at compile time, use getString(int colNum) instead, since actual parameters are not named.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of an existing column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool value. If the value was a NULL value, false is returned. The <a class="el" href="classtmudr_1_1TupleInfo.html#a8aaa05953f4d2b349923224443a7c1d7">wasNull()</a> method can be used to determine whether a NULL value was returned. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab3391ad53c5abadb13dac6249be9d7bc"></a><!-- doxytag: member="tmudr::TupleInfo::getBoolean" ref="ab3391ad53c5abadb13dac6249be9d7bc" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TupleInfo::getBoolean </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a boolean value of a column or parameter</p>
<p>This method is modeled after the JDBC interface. It can be used on boolean, numeric and character columns. Numeric columns need to have a value of 0 (false) or 1 (true), character columns need to have a value of "0" (false) or "1" (true).</p>
<p>Use this method at runtime. It can also be used for actual parameters that are available at compile time.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Boolean value. If the value was a NULL value, false is returned. The <a class="el" href="classtmudr_1_1TupleInfo.html#a8aaa05953f4d2b349923224443a7c1d7">wasNull()</a> method can be used to determine whether a NULL value was returned. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af702ba5fd84731694221e478c740e14a"></a><!-- doxytag: member="tmudr::TupleInfo::getColNum" ref="af702ba5fd84731694221e478c740e14a" args="(const std::string &amp;colName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TupleInfo::getColNum </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>colName</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Look up a column/parameter number by name.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of an existing column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Column/parameter number. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a364c0f7153519e21e5d10ea8f54f6e25"></a><!-- doxytag: member="tmudr::TupleInfo::getColNum" ref="a364c0f7153519e21e5d10ea8f54f6e25" args="(const char *colName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TupleInfo::getColNum </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>colName</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Look up a column/parameter number by name.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of an existing column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Column/parameter number. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2fb6559fd02ba70881c88e6b2bf5518c"></a><!-- doxytag: member="tmudr::TupleInfo::getColumn" ref="a2fb6559fd02ba70881c88e6b2bf5518c" args="(const std::string &amp;colName)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp; TupleInfo::getColumn </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>colName</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the non-const column info for a column identified by its name.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of an existing column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Column info. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aaf49e5e83a73c3f34375b837dadbdb31"></a><!-- doxytag: member="tmudr::TupleInfo::getColumn" ref="aaf49e5e83a73c3f34375b837dadbdb31" args="(int colNum)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp; TupleInfo::getColumn </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the non-const column info for a column identified by its ordinal.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Column info. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1687dc30e4a9db80f6fdb95cacdf350b"></a><!-- doxytag: member="tmudr::TupleInfo::getColumn" ref="a1687dc30e4a9db80f6fdb95cacdf350b" args="(const std::string &amp;colName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp; TupleInfo::getColumn </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>colName</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the column info for a column identified by its name.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of an existing column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Column info. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a460d01d871fe2be13ee90e9c5ce9f930"></a><!-- doxytag: member="tmudr::TupleInfo::getColumn" ref="a460d01d871fe2be13ee90e9c5ce9f930" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classtmudr_1_1ColumnInfo.html">ColumnInfo</a> &amp; TupleInfo::getColumn </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the column info for a column identified by its ordinal.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Column info. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac6a3327145169b0ce9bb3637d665170f"></a><!-- doxytag: member="tmudr::TupleInfo::getDelimitedRow" ref="ac6a3327145169b0ce9bb3637d665170f" args="(std::string &amp;row, char delim='|', bool quote=false, char quoteSymbol= '&quot;', int firstColumn = 0, int lastColumn = &#45;1) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::getDelimitedRow </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>delim</em> = <code>'|'</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>quote</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>quoteSymbol</em> = <code>'&quot;'</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>firstColumn</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>lastColumn</em> = <code>-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get columns of a row as a delimited string.</p>
<p>This method is useful to interface with tools that take a delimited record format. It is also useful for printing rows (see <a class="el" href="classtmudr_1_1UDRInvocationInfo.html#ab6b34603b9cad093f862ff650aeb361ea5ee57a5f93619e910047e53cf5d1c9f0" title="16">UDRInvocationInfo::TRACE_ROWS</a>).</p>
<p>Only use this method at runtime.</p>
<p>Note: This method may return a string that contains multiple character sets, if columns with different character sets are involved. Using this method with UCS-2 columns is not recommended.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>String reference in which the result delimited row will be returned. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>delim</em>&nbsp;</td><td>US ASCII field delimiter to use. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>quote</em>&nbsp;</td><td>Whether to quote character field values that contain the delimiter symbol or a quote symbol. Quote symbols will be duplicated to escape them. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>quoteSymbol</em>&nbsp;</td><td>US ASCII quote character to use, if quote is true. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>firstColumn</em>&nbsp;</td><td>First column to read. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lastColumn</em>&nbsp;</td><td>Last column to read (inclusive) or -1 to read until the last column in the row. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2296e6f2acf21b3bec769f98fee8513e"></a><!-- doxytag: member="tmudr::TupleInfo::getDouble" ref="a2296e6f2acf21b3bec769f98fee8513e" args="(const std::string &amp;colName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double TupleInfo::getDouble </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>colName</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get double value of a column/parameter identified by name.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classtmudr_1_1TupleInfo.html#a49614778f7d1988a262bab185a4f0ce2">TupleInfo::getDouble(int colNum) const</a></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of an existing column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>double value. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a49614778f7d1988a262bab185a4f0ce2"></a><!-- doxytag: member="tmudr::TupleInfo::getDouble" ref="a49614778f7d1988a262bab185a4f0ce2" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double TupleInfo::getDouble </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a double value of a column or parameter</p>
<p>This method is modeled after the JDBC interface.</p>
<p>Use this method at runtime. It can also be used for actual parameters that are available at compile time.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>double value. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7d3bf0cfef4386809c3b27d8c87302a2"></a><!-- doxytag: member="tmudr::TupleInfo::getInt" ref="a7d3bf0cfef4386809c3b27d8c87302a2" args="(const std::string &amp;colName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TupleInfo::getInt </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>colName</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get an integer value for a column identified by name.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classtmudr_1_1TupleInfo.html#afb5f2131ce96a7cfb541d1147b025e76">TupleInfo::getInt(int) const</a></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of an existing column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Integer value. If the value was a NULL value, then 0 is returned. The <a class="el" href="classtmudr_1_1TupleInfo.html#a8aaa05953f4d2b349923224443a7c1d7">wasNull()</a> method can be used to determine whether a NULL value was returned. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afb5f2131ce96a7cfb541d1147b025e76"></a><!-- doxytag: member="tmudr::TupleInfo::getInt" ref="afb5f2131ce96a7cfb541d1147b025e76" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TupleInfo::getInt </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get an integer value of a column or parameter</p>
<p>This method is modeled after the JDBC interface.</p>
<p>Use this method at runtime. It can also be used for actual parameters that are available at compile time.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Integer value. If the value was a NULL value, then 0 is returned. The <a class="el" href="classtmudr_1_1TupleInfo.html#a8aaa05953f4d2b349923224443a7c1d7">wasNull()</a> method can be used to determine whether a NULL value was returned. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a007ae4ad517e42418191614456042691"></a><!-- doxytag: member="tmudr::TupleInfo::getLong" ref="a007ae4ad517e42418191614456042691" args="(const std::string &amp;colName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long TupleInfo::getLong </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>colName</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a long value for a column identified by name.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classtmudr_1_1TupleInfo.html#a11fd53d410ffee07bb2bbde927913e47">TupleInfo::getLong(int) const</a></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of an existing column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>long value. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a11fd53d410ffee07bb2bbde927913e47"></a><!-- doxytag: member="tmudr::TupleInfo::getLong" ref="a11fd53d410ffee07bb2bbde927913e47" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long TupleInfo::getLong </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a long value of a column or parameter</p>
<p>This method is modeled after the JDBC interface.</p>
<p>Use this method at runtime. It can also be used for actual parameters that are available at compile time.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>long value. If the value was a NULL value, then 0 is returned. The <a class="el" href="classtmudr_1_1TupleInfo.html#a8aaa05953f4d2b349923224443a7c1d7">wasNull()</a> method can be used to determine whether a NULL value was returned. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9414181fd102b20706eabf561f0d6dd3"></a><!-- doxytag: member="tmudr::TupleInfo::getNumColumns" ref="a9414181fd102b20706eabf561f0d6dd3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TupleInfo::getNumColumns </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the number of columns or parameters.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of columns/parameters. </dd></dl>

</div>
</div>
<a class="anchor" id="ab7ed8aa0f36a9dd2a5570128f5eb12a1"></a><!-- doxytag: member="tmudr::TupleInfo::getRaw" ref="ab7ed8aa0f36a9dd2a5570128f5eb12a1" args="(int colNum, int &amp;byteLen) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * TupleInfo::getRaw </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>byteLen</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a pointer to the raw data value of a column.</p>
<p>Using this method requires knowledge of the data layout for the different types used in UDRs. This method can be useful for performance optimizations, when converting longer string values to std::string is undesirable. Note that the pointer to the raw value is valid only until a new row is read or the existing row is emitted.</p>
<p>Use this method at runtime. It can also be used for actual parameters that are available at compile time.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>byteLen</em>&nbsp;</td><td>Length, in bytes, of the value returned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the raw column value in the row buffer. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7befa22db4c7ae677da681dc13d3ef99"></a><!-- doxytag: member="tmudr::TupleInfo::getRecordLength" ref="a7befa22db4c7ae677da681dc13d3ef99" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TupleInfo::getRecordLength </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the record length of a row.</p>
<p>This method returns the approximate record length of the tuple at compile time and the actual (non-compressed) record length at runtime. This might be useful for cost estimation, otherwise it can be ignored by UDF writers.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Record length in bytes. </dd></dl>

</div>
</div>
<a class="anchor" id="a3b0d60692c6fa1e2b768908ae95095e9"></a><!-- doxytag: member="tmudr::TupleInfo::getSQLTypeClass" ref="a3b0d60692c6fa1e2b768908ae95095e9" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtmudr_1_1TypeInfo.html#a9804443638ca97a8e5dbfeebe0d08ca6">TypeInfo::SQLTypeClassCode</a> TupleInfo::getSQLTypeClass </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the SQL type class.</p>
<p>Determine whether this is a numeric character, datetime or interval type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>SQL type class enum. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a06171cd4681221471257a05f88e0cb01"></a><!-- doxytag: member="tmudr::TupleInfo::getString" ref="a06171cd4681221471257a05f88e0cb01" args="(const std::string &amp;colName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string TupleInfo::getString </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>colName</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a string value of a column or parameter identified by name.</p>
<p>This method is modeled after the JDBC interface.</p>
<p>Use this method at runtime. It cannot be used for actual parameters that are available at compile time, use getString(int colNum) instead, since actual parameters are not named.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colName</em>&nbsp;</td><td>Name of an existing column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>String value. If the value was a NULL value, an empty string is returned. The <a class="el" href="classtmudr_1_1TupleInfo.html#a8aaa05953f4d2b349923224443a7c1d7">wasNull()</a> method can be used to determine whether a NULL value was returned. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a84e1379f2809a1cf6adef8dccbcba836"></a><!-- doxytag: member="tmudr::TupleInfo::getString" ref="a84e1379f2809a1cf6adef8dccbcba836" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string TupleInfo::getString </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a string value of a column or parameter</p>
<p>This method is modeled after the JDBC interface.</p>
<p>Use this method at runtime. It can also be used for actual parameters that are available at compile time.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>String value. If the value was a NULL value, an empty string is returned. The <a class="el" href="classtmudr_1_1TupleInfo.html#a8aaa05953f4d2b349923224443a7c1d7">wasNull()</a> method can be used to determine whether a NULL value was returned. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a53ea8b479aa67e9d1b19aad2ea16411d"></a><!-- doxytag: member="tmudr::TupleInfo::getTime" ref="a53ea8b479aa67e9d1b19aad2ea16411d" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t TupleInfo::getTime </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a datetime or interval column value as time_t</p>
<p>This method can be used to convert column values with a datetime type or a day-second interval type to the POSIX type time_t. Note that this may result in the loss of fractional seconds.</p>
<p>Use this method at runtime. It can also be used for actual parameters that are available at compile time.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a21b3421c855b85a3a9186a8c37d5637b"></a><!-- doxytag: member="tmudr::TupleInfo::getType" ref="a21b3421c855b85a3a9186a8c37d5637b" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classtmudr_1_1TypeInfo.html">TypeInfo</a> &amp; TupleInfo::getType </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the type of a column.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Type of the column. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="adae91c6ed0e61babc2fe71fcb53091fa"></a><!-- doxytag: member="tmudr::TupleInfo::isAvailable" ref="adae91c6ed0e61babc2fe71fcb53091fa" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TupleInfo::isAvailable </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check whether a parameter is available at compile-time.</p>
<p>Use this method to check in the compiler interfaces whether an actual parameter is a constant value that can be read at compile time. If this method returns true, the value can be accessed with the <a class="el" href="classtmudr_1_1TupleInfo.html#afb5f2131ce96a7cfb541d1147b025e76">getInt()</a>, <a class="el" href="classtmudr_1_1TupleInfo.html#a84e1379f2809a1cf6adef8dccbcba836">getString()</a> etc. methods.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Column number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the parameter value is available. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa5309f0edb4901f0e07f0e8010ca63d6"></a><!-- doxytag: member="tmudr::TupleInfo::print" ref="aa5309f0edb4901f0e07f0e8010ca63d6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::print </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Print the object, for use in debugging.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classtmudr_1_1UDR.html#a9a0d3501ad5d27d90ca85a8791c87409">UDR::debugLoop()</a> </dd>
<dd>
<a class="el" href="classtmudr_1_1UDRInvocationInfo.html#ab6b34603b9cad093f862ff650aeb361ea6b367b009643535ace09423ae914e549" title="128">UDRInvocationInfo::PRINT_INVOCATION_INFO_AT_RUN_TIME</a> </dd></dl>

<p>Reimplemented in <a class="el" href="classtmudr_1_1TableInfo.html#a9d48ebe9458e65672fee592c1e73be5f">tmudr::TableInfo</a>.</p>

</div>
</div>
<a class="anchor" id="a017468a30a494b09e206299db69394e6"></a><!-- doxytag: member="tmudr::TupleInfo::setBoolean" ref="a017468a30a494b09e206299db69394e6" args="(int colNum, bool val) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::setBoolean </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set a column to a value specified as bool</p>
<p>This will set boolean, numeric and character columns. Numeric values will be 0 for false, 1 for true. String values will be "0" for false, "1" for true.</p>
<p>Use this method at runtime.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Index/ordinal of the column to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The new boolean value for the column to set. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a53aa76fd23f08d77a259e71041cb0593"></a><!-- doxytag: member="tmudr::TupleInfo::setDouble" ref="a53aa76fd23f08d77a259e71041cb0593" args="(int colNum, double val) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::setDouble </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set an output column to a specified double value.</p>
<p>Use this method at runtime.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Index/ordinal of the column to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The new double value for the column to set. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a374da12aaec8a620afedf7eb5f0e19f3"></a><!-- doxytag: member="tmudr::TupleInfo::setFromDelimitedRow" ref="a374da12aaec8a620afedf7eb5f0e19f3" args="(const char *row, char delim='|', bool quote=false, char quoteSymbol= '&quot;', int firstColumnToSet = 0, int lastColumnToSet = &#45;1, int numDelimColsToSkip = 0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * TupleInfo::setFromDelimitedRow </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>delim</em> = <code>'|'</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>quote</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>quoteSymbol</em> = <code>'&quot;'</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>firstColumnToSet</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>lastColumnToSet</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>numDelimColsToSkip</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the result row from a string with delimited field values.</p>
<p>This method can be used to read delimited text files and conveniently produce a result table from them. For example, if the following string is passed in as row: </p>
<div class="fragment"><pre class="fragment"> skip1|<span class="stringliteral">&apos;skip|2&apos;</span>|3|<span class="stringliteral">&apos;delim|and&apos;</span><span class="stringliteral">&apos;Quote&apos;</span>|5 
</pre></div><p> This call: </p>
<div class="fragment"><pre class="fragment"> <a class="code" href="classtmudr_1_1TupleInfo.html#a374da12aaec8a620afedf7eb5f0e19f3">setFromDelimitedRow</a>(
      row,  <span class="comment">// row</span>
      <span class="charliteral">&apos;|&apos;</span>,  <span class="comment">// delim</span>
      <span class="keyword">true</span>, <span class="comment">// quote</span>
      <span class="charliteral">&apos;\&apos;&apos;</span>, <span class="comment">// quoteSymbol (single quote)</span>
      10,   <span class="comment">// firstColumnToSet</span>
      11,   <span class="comment">// lastColumnToSet</span>
      2);   <span class="comment">// numDelimColsToSkip </span>
</pre></div><p> would set output column 10 to 3 and output column 11 to delim|and'Quote.</p>
<p>Note: The delimited row may need to contain strings of multiple character sets. Using this method with UCS2 columns is not recommended, since that might require special handling.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classtmudr_1_1TupleInfo.html#ac6a3327145169b0ce9bb3637d665170f">getDelimitedRow()</a></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>A string with delimited field values to read. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>delim</em>&nbsp;</td><td>Delimiter between field values. Use a US ASCII symbol as the delimiter. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>quote</em>&nbsp;</td><td>true if the method should assume that text fields use quotes to quote special symbols like delimiters that are embedded within fields, and that quote symbols embedded in text fields will be doubled. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>quoteSymbol</em>&nbsp;</td><td>US ASCII Quote symbol used to quote text. Meaningful only if quote is set to true. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>firstColumnToSet</em>&nbsp;</td><td>First column in the output table to be set from the delimited row (0-based). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lastColumnToSet</em>&nbsp;</td><td>Last column in the output table to be set (inclusive) or -1 to indicate to set all remaining columns of the table. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>numDelimColsToSkip</em>&nbsp;</td><td>Number of fields to skip in the delimited row before using the values to set output columns. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the first character after the text that has been consumed by this method. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a57ef5a6d63c758726572e0f920a59165"></a><!-- doxytag: member="tmudr::TupleInfo::setInt" ref="a57ef5a6d63c758726572e0f920a59165" args="(int colNum, int val) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::setInt </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set an output column to a specified integer value.</p>
<p>Use this method at runtime.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Index/ordinal of the column to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The new integer value for the column to set. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a197fb1a81a24e8f296e66afb4fdc7fd4"></a><!-- doxytag: member="tmudr::TupleInfo::setLong" ref="a197fb1a81a24e8f296e66afb4fdc7fd4" args="(int colNum, long val) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::setLong </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set an output column to a specified long value.</p>
<p>Use this method at runtime.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Index/ordinal of the column to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The new long value for the column to set. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4bca6c587b8995e0e6d074e086d998a7"></a><!-- doxytag: member="tmudr::TupleInfo::setNull" ref="a4bca6c587b8995e0e6d074e086d998a7" args="(int colNum) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::setNull </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set an output column to a NULL value.</p>
<p>Use this method at runtime.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Index/ordinal of the column to set to NULL. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af3f5ca05624d489c4fa408c6797ba91b"></a><!-- doxytag: member="tmudr::TupleInfo::setString" ref="af3f5ca05624d489c4fa408c6797ba91b" args="(int colNum, const std::string &amp;val) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::setString </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set an output column to a specified string value.</p>
<p>Use this method at runtime.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Index/ordinal of the column to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The new string value for the column to set. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a38539f3b5afee046643392d2b44c1c3e"></a><!-- doxytag: member="tmudr::TupleInfo::setString" ref="a38539f3b5afee046643392d2b44c1c3e" args="(int colNum, const char *val, int stringLen) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::setString </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>stringLen</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set an output column to a specified string value.</p>
<p>Use this method at runtime.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Index/ordinal of the column to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The new string value for the column to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stringLen</em>&nbsp;</td><td>Length (in bytes) of the string value provided. The string may contain embedded NUL bytes. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a206b6845bcbfa47de0843447142199c1"></a><!-- doxytag: member="tmudr::TupleInfo::setString" ref="a206b6845bcbfa47de0843447142199c1" args="(int colNum, const char *val) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::setString </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set an output column to a specified string value.</p>
<p>Use this method at runtime. The length of the string is determined by calling strlen().</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Index/ordinal of the column to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The new string value for the column to set. The length of the string is determined by calling strlen. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1b988ee0269c747eadea2857dc644efd"></a><!-- doxytag: member="tmudr::TupleInfo::setTime" ref="a1b988ee0269c747eadea2857dc644efd" args="(int colNum, time_t val) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TupleInfo::setTime </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>colNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set a datetime or interval output column to a value specified as time_t</p>
<p>This method cannot be used with year-month intervals or data types that are not datetime or interval types. It is not possible to set fractional seconds with this method.</p>
<p>Use this method at runtime.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>colNum</em>&nbsp;</td><td>Index/ordinal of the column to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The new time_t value for the column to set. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classtmudr_1_1UDRException.html" title="This is the exception to throw when an error occurs in a UDR.">UDRException</a></em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8aaa05953f4d2b349923224443a7c1d7"></a><!-- doxytag: member="tmudr::TupleInfo::wasNull" ref="a8aaa05953f4d2b349923224443a7c1d7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TupleInfo::wasNull </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check whether the last value returned from a <a class="el" href="classtmudr_1_1TupleInfo.html#afb5f2131ce96a7cfb541d1147b025e76">getInt()</a> etc. method was NULL.</p>
<p>This method is modeled after the JDBC interface.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the last value returned from a <a class="el" href="classtmudr_1_1TupleInfo.html#afb5f2131ce96a7cfb541d1147b025e76">getInt()</a>, <a class="el" href="classtmudr_1_1TupleInfo.html#a84e1379f2809a1cf6adef8dccbcba836">getString()</a> etc. method was a NULL value, false otherwise. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="sqludr_8h_source.html">sqludr.h</a></li>
<li>sqludr.cpp</li>
</ul>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr size="1"/><address style="text-align: right;"><small>Generated on 3 Mar 2017 for tmudr by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>
