<!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.11"/>
<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/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</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 id="projectalign" 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.11 -->
<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="inherits.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)">
</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.6.0 on Thu Dec 7 2017 19:52:43 by Doxygen 1.8.11</small>
  <br>
  <small>Copyright © 2017 The Apache Software Foundation.</small>
</address>
</body>
</html>
