<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Kudu C++ client API: KuduPartialRow Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Kudu C++ client API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.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)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

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

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classKuduPartialRow-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">KuduPartialRow Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A row which may only contain values for a subset of the columns.  
 <a href="classKuduPartialRow.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="partial__row_8h_source.html">partial_row.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9eb1cbd1b216f6313a03c82ab67112e4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4">KuduPartialRow</a> (const Schema *<a class="el" href="classKuduPartialRow.html#a33abfa2504b7e6323cdbba22ad346023">schema</a>)</td></tr>
<tr class="separator:a9eb1cbd1b216f6313a03c82ab67112e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4ebb399982edbb3e877e38a74c700f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1">KuduPartialRow</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;other)</td></tr>
<tr class="separator:ab4ebb399982edbb3e877e38a74c700f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03cab3e1aa0bef19c14f94181934181f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f">operator=</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> other)</td></tr>
<tr class="separator:a03cab3e1aa0bef19c14f94181934181f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedbcf22d41791c5ae28e978eb9054cc5"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5">SetNull</a> (const Slice &amp;col_name) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:aedbcf22d41791c5ae28e978eb9054cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeaa8d438650b7796e30e9865bb83d2f"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f">SetNull</a> (int col_idx) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:abeaa8d438650b7796e30e9865bb83d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adccabf294832ba33fce80a72992f6e23"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">Unset</a> (const Slice &amp;col_name) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:adccabf294832ba33fce80a72992f6e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f65b552d35d23e6fc494cb1f6dcd394"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394">Unset</a> (int col_idx) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a8f65b552d35d23e6fc494cb1f6dcd394"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a592d2ee5fb13a710fcd675cc675f2193"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a592d2ee5fb13a710fcd675cc675f2193">IsColumnSet</a> (const Slice &amp;col_name) const </td></tr>
<tr class="separator:a592d2ee5fb13a710fcd675cc675f2193"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa53b99d14bb61a010c4857cad17bb8ff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aa53b99d14bb61a010c4857cad17bb8ff">IsColumnSet</a> (int col_idx) const </td></tr>
<tr class="separator:aa53b99d14bb61a010c4857cad17bb8ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaff842dad3af9546b2ed936613e59ab"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#acaff842dad3af9546b2ed936613e59ab">IsNull</a> (const Slice &amp;col_name) const </td></tr>
<tr class="separator:acaff842dad3af9546b2ed936613e59ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b0a0103eea4cc39fbc89df0a9403a26"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a0b0a0103eea4cc39fbc89df0a9403a26">IsNull</a> (int col_idx) const </td></tr>
<tr class="separator:a0b0a0103eea4cc39fbc89df0a9403a26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2721dc18b29237db90a1cda779942533"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a2721dc18b29237db90a1cda779942533">EncodeRowKey</a> (std::string *encoded_key) const </td></tr>
<tr class="separator:a2721dc18b29237db90a1cda779942533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae76fac9268c7baa2cbcb8ccd2b22f49a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ae76fac9268c7baa2cbcb8ccd2b22f49a">ToEncodedRowKeyOrDie</a> () const </td></tr>
<tr class="separator:ae76fac9268c7baa2cbcb8ccd2b22f49a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e51d3b848636aabe561e3e66b9470e8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a8e51d3b848636aabe561e3e66b9470e8">IsKeySet</a> () const </td></tr>
<tr class="separator:a8e51d3b848636aabe561e3e66b9470e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d373a8c8682ab6ebdb27137c041be18"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a2d373a8c8682ab6ebdb27137c041be18">AllColumnsSet</a> () const </td></tr>
<tr class="separator:a2d373a8c8682ab6ebdb27137c041be18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a998461fed88b566d159c2a3062353aa9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a998461fed88b566d159c2a3062353aa9">ToString</a> () const </td></tr>
<tr class="separator:a998461fed88b566d159c2a3062353aa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33abfa2504b7e6323cdbba22ad346023"><td class="memItemLeft" align="right" valign="top">const Schema *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a33abfa2504b7e6323cdbba22ad346023">schema</a> () const </td></tr>
<tr class="separator:a33abfa2504b7e6323cdbba22ad346023"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Setters for integral type columns by name.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Set value for a column by name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div></td></tr>
<tr class="memitem:aeca0f9adc600ac2e24918e981a47252d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeca0f9adc600ac2e24918e981a47252d"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetBool</b> (const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:aeca0f9adc600ac2e24918e981a47252d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81d62690c48e6c1bbcaa0bb8f10f553f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81d62690c48e6c1bbcaa0bb8f10f553f"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetInt8</b> (const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a81d62690c48e6c1bbcaa0bb8f10f553f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46bebd1ee3d723d7529c5935545f3810"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46bebd1ee3d723d7529c5935545f3810"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetInt16</b> (const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a46bebd1ee3d723d7529c5935545f3810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0980615e522c4e7f8c8ddf80df0ec887"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0980615e522c4e7f8c8ddf80df0ec887"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetInt32</b> (const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a0980615e522c4e7f8c8ddf80df0ec887"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaa3b48abbafa7b224dbc6c199a430d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abaa3b48abbafa7b224dbc6c199a430d4"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetInt64</b> (const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:abaa3b48abbafa7b224dbc6c199a430d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f3cbad9ded11b6b19815b130eb7038a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f3cbad9ded11b6b19815b130eb7038a"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetUnixTimeMicros</b> (const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a0f3cbad9ded11b6b19815b130eb7038a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63f7bc57c1bc9a924466754eeac76a7b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63f7bc57c1bc9a924466754eeac76a7b"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetFloat</b> (const Slice &amp;col_name, float val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a63f7bc57c1bc9a924466754eeac76a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab65a91210596b8fffce9d0052858af20"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab65a91210596b8fffce9d0052858af20"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetDouble</b> (const Slice &amp;col_name, double val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ab65a91210596b8fffce9d0052858af20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Setters for integral type columns by index.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Set value for a column by index.</p>
<p>These setters are the same as corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div></td></tr>
<tr class="memitem:a8500986269930b88336c36bc50328768"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8500986269930b88336c36bc50328768"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetBool</b> (int col_idx, bool val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a8500986269930b88336c36bc50328768"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d10997e70e776eb353ad67abc78d79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6d10997e70e776eb353ad67abc78d79"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetInt8</b> (int col_idx, int8_t val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:af6d10997e70e776eb353ad67abc78d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb92cc301cbcc89ef46e9bebbe86c508"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb92cc301cbcc89ef46e9bebbe86c508"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetInt16</b> (int col_idx, int16_t val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:adb92cc301cbcc89ef46e9bebbe86c508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac883d7bfb3cbdb7986a18895320097ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac883d7bfb3cbdb7986a18895320097ad"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetInt32</b> (int col_idx, int32_t val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ac883d7bfb3cbdb7986a18895320097ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62224148c353a9eba4e19574a61fe369"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62224148c353a9eba4e19574a61fe369"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetInt64</b> (int col_idx, int64_t val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a62224148c353a9eba4e19574a61fe369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a691d2ce90e503f939c07f5e874d6a536"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a691d2ce90e503f939c07f5e874d6a536"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetUnixTimeMicros</b> (int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a691d2ce90e503f939c07f5e874d6a536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0b76030c919b941997ffd047b12f40e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0b76030c919b941997ffd047b12f40e"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetFloat</b> (int col_idx, float val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ad0b76030c919b941997ffd047b12f40e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ee7f7a17437d338e58dd6a82431729d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ee7f7a17437d338e58dd6a82431729d"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetDouble</b> (int col_idx, double val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a7ee7f7a17437d338e58dd6a82431729d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Setters for binary/string columns by name (copying).</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Set the binary/string value for a column by name, copying the specified data immediately.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div></td></tr>
<tr class="memitem:ae4b6f159c53f0c61ca5d0ad1615deeb3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4b6f159c53f0c61ca5d0ad1615deeb3"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetBinary</b> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ae4b6f159c53f0c61ca5d0ad1615deeb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d00b3a45ec8612187eba6751742beab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d00b3a45ec8612187eba6751742beab"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetString</b> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a8d00b3a45ec8612187eba6751742beab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace5ff767150c15d8368f258cf8b4fe78"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace5ff767150c15d8368f258cf8b4fe78"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetBinaryCopy</b> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ace5ff767150c15d8368f258cf8b4fe78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac6ae9c9f8267cd6a52e46121b5f0199"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac6ae9c9f8267cd6a52e46121b5f0199"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetStringCopy</b> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:aac6ae9c9f8267cd6a52e46121b5f0199"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Setters for binary/string columns by index (copying).</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Set the binary/string value for a column by index, copying the specified data immediately.</p>
<p>These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div></td></tr>
<tr class="memitem:aa58ca5345b45b8bd0f3d700d75fa661c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa58ca5345b45b8bd0f3d700d75fa661c"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetBinary</b> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:aa58ca5345b45b8bd0f3d700d75fa661c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e606cb958eab0db1b12289aca255819"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e606cb958eab0db1b12289aca255819"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetString</b> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a0e606cb958eab0db1b12289aca255819"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9da30ad760f428b2d5f70a1fe4eba827"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9da30ad760f428b2d5f70a1fe4eba827"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetStringCopy</b> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a9da30ad760f428b2d5f70a1fe4eba827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b5c60e7a1b34f29615eb00d40e4ca35"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b5c60e7a1b34f29615eb00d40e4ca35"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetBinaryCopy</b> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a1b5c60e7a1b34f29615eb00d40e4ca35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Setters for binary/string columns by name (non-copying).</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Set the binary/string value for a column by name, not copying the specified data.</p>
<dl class="section note"><dt>Note</dt><dd>The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div></td></tr>
<tr class="memitem:a75d35ae76b436eea6ac2af27e179460f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75d35ae76b436eea6ac2af27e179460f"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetBinaryNoCopy</b> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a75d35ae76b436eea6ac2af27e179460f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a698140e257b13d559bdfc220540f73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a698140e257b13d559bdfc220540f73"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetStringNoCopy</b> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a2a698140e257b13d559bdfc220540f73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Setters for binary/string columns by index (non-copying).</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Set the binary/string value for a column by index, not copying the specified data.</p>
<p>These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
<dl class="section note"><dt>Note</dt><dd>The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div></td></tr>
<tr class="memitem:a66586a8208c3f7e90cf01fcb359a4793"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66586a8208c3f7e90cf01fcb359a4793"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetBinaryNoCopy</b> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a66586a8208c3f7e90cf01fcb359a4793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6ad2c3b84a65f3d7062fe4fcf8eb5bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6ad2c3b84a65f3d7062fe4fcf8eb5bd"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>SetStringNoCopy</b> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ae6ad2c3b84a65f3d7062fe4fcf8eb5bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Getters for integral type columns by column name.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Get value of the column specified by name.</p>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
<li>The type does not match. </li>
<li>The value is unset. </li>
<li>The value is <code>NULL</code>. </li>
</ul>
</dd></dl>
</div></td></tr>
<tr class="memitem:a8087c08eae65c609192c0dc0960334c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8087c08eae65c609192c0dc0960334c2"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetBool</b> (const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a8087c08eae65c609192c0dc0960334c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cb0b4c5358ac4b42551f016f8a1cad4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3cb0b4c5358ac4b42551f016f8a1cad4"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetInt8</b> (const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a3cb0b4c5358ac4b42551f016f8a1cad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5de48c13b1a83abefc0a1b5262f69a93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5de48c13b1a83abefc0a1b5262f69a93"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetInt16</b> (const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a5de48c13b1a83abefc0a1b5262f69a93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9956360f9208549aab03d9284ff80b46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9956360f9208549aab03d9284ff80b46"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetInt32</b> (const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a9956360f9208549aab03d9284ff80b46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae64a1264303b8081cf5ee8dbd44fc6dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae64a1264303b8081cf5ee8dbd44fc6dc"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetInt64</b> (const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ae64a1264303b8081cf5ee8dbd44fc6dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aa39a18379e4339ac88138dfc5223f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5aa39a18379e4339ac88138dfc5223f8"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetUnixTimeMicros</b> (const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a5aa39a18379e4339ac88138dfc5223f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d5bdd73756eb630a7a8268677244afc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d5bdd73756eb630a7a8268677244afc"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetFloat</b> (const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a9d5bdd73756eb630a7a8268677244afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee25fdcff40d212e8e7cad67675c8fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ee25fdcff40d212e8e7cad67675c8fd"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetDouble</b> (const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a5ee25fdcff40d212e8e7cad67675c8fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Getters for column of integral type by column index.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Get value of a column of integral type by column index.</p>
<p>These getters are the same as the corresponding column-name-based getters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
<li>The type does not match. </li>
<li>The value is unset. </li>
<li>The value is <code>NULL</code>. </li>
</ul>
</dd></dl>
</div></td></tr>
<tr class="memitem:afd863a5f5a4803a89f6a2db06ba54931"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd863a5f5a4803a89f6a2db06ba54931"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetBool</b> (int col_idx, bool *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:afd863a5f5a4803a89f6a2db06ba54931"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada872affe8163dfa6420c0f191f9c650"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada872affe8163dfa6420c0f191f9c650"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetInt8</b> (int col_idx, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ada872affe8163dfa6420c0f191f9c650"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a918cb01437d863fa0a35a9a72b7bac1a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a918cb01437d863fa0a35a9a72b7bac1a"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetInt16</b> (int col_idx, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a918cb01437d863fa0a35a9a72b7bac1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a869dcfb0e7847489b31b125e79e683dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a869dcfb0e7847489b31b125e79e683dc"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetInt32</b> (int col_idx, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a869dcfb0e7847489b31b125e79e683dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ded00965652dde7d94769f01df01dc9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ded00965652dde7d94769f01df01dc9"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetInt64</b> (int col_idx, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a9ded00965652dde7d94769f01df01dc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab328b8a04618328a7b4c72217138e246"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab328b8a04618328a7b4c72217138e246"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetUnixTimeMicros</b> (int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ab328b8a04618328a7b4c72217138e246"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a53cf17ad2cd746b7512ae3ecd6131f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a53cf17ad2cd746b7512ae3ecd6131f"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetFloat</b> (int col_idx, float *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a1a53cf17ad2cd746b7512ae3ecd6131f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b4fae6f8be68e97b0e7145ea55fae9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b4fae6f8be68e97b0e7145ea55fae9f"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetDouble</b> (int col_idx, double *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a4b4fae6f8be68e97b0e7145ea55fae9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Getters for string/binary column by column name.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Get the string/binary value for a column by its name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
<li>The type does not match. </li>
<li>The value is unset. </li>
<li>The value is <code>NULL</code>. </li>
</ul>
</dd></dl>
</div></td></tr>
<tr class="memitem:a0c31a9a374229b15103111913c8378ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c31a9a374229b15103111913c8378ee"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetString</b> (const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a0c31a9a374229b15103111913c8378ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa144a55744bff07d34cd9db7788cb38e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa144a55744bff07d34cd9db7788cb38e"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetBinary</b> (const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:aa144a55744bff07d34cd9db7788cb38e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Getters for string/binary column by column index.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Get the string/binary value for a column by its index.</p>
<p>These methods are faster than their name-based counterparts since they use indices to avoid hashmap lookups, so index-based getters should be preferred in performance-sensitive code.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_index</td><td>The index of the column. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
<li>The type does not match. </li>
<li>The value is unset. </li>
<li>The value is <code>NULL</code>. </li>
</ul>
</dd></dl>
</div></td></tr>
<tr class="memitem:a6867fbfce181081810ab2522fbf764bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6867fbfce181081810ab2522fbf764bd"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetString</b> (int col_idx, Slice *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a6867fbfce181081810ab2522fbf764bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c6b9c1cdf9f80ddeea53117ddc5545d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c6b9c1cdf9f80ddeea53117ddc5545d"></a>
Status&#160;</td><td class="memItemRight" valign="bottom"><b>GetBinary</b> (int col_idx, Slice *val) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a1c6b9c1cdf9f80ddeea53117ddc5545d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a3efada50725e9e8ef4456b4b68418260"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3efada50725e9e8ef4456b4b68418260"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>client::KuduWriteOperation</b></td></tr>
<tr class="separator:a3efada50725e9e8ef4456b4b68418260"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35ea4a80cbbfa13186cc711cee6b415e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35ea4a80cbbfa13186cc711cee6b415e"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>KeyUtilTest</b></td></tr>
<tr class="separator:a35ea4a80cbbfa13186cc711cee6b415e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a563871d13e91ee68a82ce1bffca940e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a563871d13e91ee68a82ce1bffca940e9"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>PartitionSchema</b></td></tr>
<tr class="separator:a563871d13e91ee68a82ce1bffca940e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10abd48a6357bdd00368d25fffc0496f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10abd48a6357bdd00368d25fffc0496f"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>RowOperationsPBDecoder</b></td></tr>
<tr class="separator:a10abd48a6357bdd00368d25fffc0496f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06f23e742142966df27182b92677b056"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06f23e742142966df27182b92677b056"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>RowOperationsPBEncoder</b></td></tr>
<tr class="separator:a06f23e742142966df27182b92677b056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4784a03ff6ec372a1becfc5bbec699d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4784a03ff6ec372a1becfc5bbec699d5"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>TestScanSpec</b></td></tr>
<tr class="separator:a4784a03ff6ec372a1becfc5bbec699d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b3ee3bd7a920b4711cd7cbacc4c337b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a3b3ee3bd7a920b4711cd7cbacc4c337b"></a>
template&lt;typename KeyTypeWrapper &gt; </td></tr>
<tr class="memitem:a3b3ee3bd7a920b4711cd7cbacc4c337b"><td class="memTemplItemLeft" align="right" valign="top">struct&#160;</td><td class="memTemplItemRight" valign="bottom"><b>client::SliceKeysTestSetup</b></td></tr>
<tr class="separator:a3b3ee3bd7a920b4711cd7cbacc4c337b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fdb763189252025742f253796785197"><td class="memTemplParams" colspan="2"><a class="anchor" id="a2fdb763189252025742f253796785197"></a>
template&lt;typename KeyTypeWrapper &gt; </td></tr>
<tr class="memitem:a2fdb763189252025742f253796785197"><td class="memTemplItemLeft" align="right" valign="top">struct&#160;</td><td class="memTemplItemRight" valign="bottom"><b>client::IntKeysTestSetup</b></td></tr>
<tr class="separator:a2fdb763189252025742f253796785197"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cf78e143d1fb91daae00290cbe43616"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7cf78e143d1fb91daae00290cbe43616"></a>
template&lt;typename KeyTypeWrapper &gt; </td></tr>
<tr class="memitem:a7cf78e143d1fb91daae00290cbe43616"><td class="memTemplItemLeft" align="right" valign="top">struct&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tablet::SliceTypeRowOps</b></td></tr>
<tr class="separator:a7cf78e143d1fb91daae00290cbe43616"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1a9e9afc588ccb6e46b09661f7f3a47"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab1a9e9afc588ccb6e46b09661f7f3a47"></a>
template&lt;typename KeyTypeWrapper &gt; </td></tr>
<tr class="memitem:ab1a9e9afc588ccb6e46b09661f7f3a47"><td class="memTemplItemLeft" align="right" valign="top">struct&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tablet::NumTypeRowOps</b></td></tr>
<tr class="separator:ab1a9e9afc588ccb6e46b09661f7f3a47"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A row which may only contain values for a subset of the columns. </p>
<p>This object contains a normal contiguous row, plus a bitfield indicating which columns have been set. Additionally, this type may optionally own copies of indirect data for variable length columns. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a9eb1cbd1b216f6313a03c82ab67112e4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">KuduPartialRow::KuduPartialRow </td>
          <td>(</td>
          <td class="paramtype">const Schema *&#160;</td>
          <td class="paramname"><em>schema</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">schema</td><td>Schema to use for the row. The given Schema object must remain valid for the lifetime of this row. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab4ebb399982edbb3e877e38a74c700f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KuduPartialRow::KuduPartialRow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a copy of <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns. ">KuduPartialRow</a> instance.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td><a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns. ">KuduPartialRow</a> instance to copy from. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a2d373a8c8682ab6ebdb27137c041be18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KuduPartialRow::AllColumnsSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if all column values have been set. </dd></dl>

</div>
</div>
<a class="anchor" id="a2721dc18b29237db90a1cda779942533"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Status KuduPartialRow::EncodeRowKey </td>
          <td>(</td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>encoded_key</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Encode a row key.</p>
<p>The result is suitable for use as a tablet split key, an encoded key range, etc.</p>
<dl class="section pre"><dt>Precondition</dt><dd>All of the key columns must be set.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">encoded_key</td><td>The encoded key (i.e. the result of the encoding). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. In particular, this method returns InvalidArgument if not all the key columns are set. </dd></dl>

</div>
</div>
<a class="anchor" id="a592d2ee5fb13a710fcd675cc675f2193"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KuduPartialRow::IsColumnSet </td>
          <td>(</td>
          <td class="paramtype">const Slice &amp;&#160;</td>
          <td class="paramname"><em>col_name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check whether the specified column is set for the row.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the given column has been specified. </dd></dl>

</div>
</div>
<a class="anchor" id="aa53b99d14bb61a010c4857cad17bb8ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KuduPartialRow::IsColumnSet </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col_idx</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check whether the specified column is set for the row.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the given column has been specified. </dd></dl>

</div>
</div>
<a class="anchor" id="a8e51d3b848636aabe561e3e66b9470e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KuduPartialRow::IsKeySet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if all key column values have been set for this mutation. </dd></dl>

</div>
</div>
<a class="anchor" id="acaff842dad3af9546b2ed936613e59ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KuduPartialRow::IsNull </td>
          <td>(</td>
          <td class="paramtype">const Slice &amp;&#160;</td>
          <td class="paramname"><em>col_name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check whether the specified column is <code>NULL</code> for the row.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the given column's value is <code>NULL</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a0b0a0103eea4cc39fbc89df0a9403a26"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KuduPartialRow::IsNull </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col_idx</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check whether the specified column is <code>NULL</code> for the row.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the given column's value is <code>NULL</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a03cab3e1aa0bef19c14f94181934181f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; KuduPartialRow::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Overwrite this <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns. ">KuduPartialRow</a> instance with data from other instance.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td><a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns. ">KuduPartialRow</a> instance to assign from. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>

</div>
</div>
<a class="anchor" id="a33abfa2504b7e6323cdbba22ad346023"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Schema* KuduPartialRow::schema </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The schema object for the partial row. </dd></dl>

</div>
</div>
<a class="anchor" id="aedbcf22d41791c5ae28e978eb9054cc5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Status KuduPartialRow::SetNull </td>
          <td>(</td>
          <td class="paramtype">const Slice &amp;&#160;</td>
          <td class="paramname"><em>col_name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set column value to <code>NULL</code>; the column is identified by its name.</p>
<p>This will only succeed on nullable columns. Use <a class="el" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">Unset()</a> to restore column value to its default.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a class="anchor" id="abeaa8d438650b7796e30e9865bb83d2f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Status KuduPartialRow::SetNull </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col_idx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set column value to <code>NULL</code>; the column is identified by its index.</p>
<p>This will only succeed on nullable columns. Use <a class="el" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">Unset()</a> to restore column value to its default.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a class="anchor" id="ae76fac9268c7baa2cbcb8ccd2b22f49a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string KuduPartialRow::ToEncodedRowKeyOrDie </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convenience method which is similar to EncodeRowKey.</p>
<p>This is equivalent to the EncodeRowKey, but triggers a FATAL error on failure.</p>
<dl class="section return"><dt>Returns</dt><dd>The encoded key. </dd></dl>

</div>
</div>
<a class="anchor" id="a998461fed88b566d159c2a3062353aa9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string KuduPartialRow::ToString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>String representation for the partial row. </dd></dl>

</div>
</div>
<a class="anchor" id="adccabf294832ba33fce80a72992f6e23"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Status KuduPartialRow::Unset </td>
          <td>(</td>
          <td class="paramtype">const Slice &amp;&#160;</td>
          <td class="paramname"><em>col_name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Unset the given column by name, restoring its default value.</p>
<dl class="section note"><dt>Note</dt><dd>This is different from setting it to <code>NULL</code>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a class="anchor" id="a8f65b552d35d23e6fc494cb1f6dcd394"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Status KuduPartialRow::Unset </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col_idx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Unset the given column by index, restoring its default value.</p>
<dl class="section note"><dt>Note</dt><dd>This is different from setting it to <code>NULL</code>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/kudu/common/<a class="el" href="partial__row_8h_source.html">partial_row.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.5.0 on Fri Sep 8 2017 14:34:40 by Doxygen 1.8.5</small>
  <br>
  <small>Copyright © 2017 The Apache Software Foundation.</small>
</address>
</body>
</html>
