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

<p><code>#include &lt;<a class="el" href="partial__row_8h_source.html">partial_row.h</a>&gt;</code></p>

<p><a href="classkudu_1_1KuduPartialRow-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a4a628a93a6e65c176277f8f7bfa57f24">KuduPartialRow</a> (const Schema *schema)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#aac9b016a50d2fd0bff9e65a15b145858">KuduPartialRow</a> (const <a class="el" href="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a8116c82b3a0044a3620690cf614a1c03">operator=</a> (<a class="el" href="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a93a9a38e819c147dac73bab4cf3936e0">SetNull</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a1c9e32f484473188117452f71992de78">SetNull</a> (int col_idx) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#ae091ca103ca5b53408b8a5728940b9ee">Unset</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a73497aee03ef217a90f108e83b87e0cd">Unset</a> (int col_idx) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a66facdc963590a3e18e14ce63c3fc4ce">IsColumnSet</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a33f55d03e1526ab8518159f4728ec3b5">IsColumnSet</a> (int col_idx) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a9d8b15e1818c4194ec91679383cc4b83">IsNull</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#ab2cdcce0da4367954fc84d89d6e6fd82">IsNull</a> (int col_idx) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#aa32dc4adfece4339b4b3a5e06641ae2b">EncodeRowKey</a> (std::string *encoded_key) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#ac31f2eca0c4e3024c83f32631d314d2b">ToEncodedRowKeyOrDie</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#af9a42359cb66910b863ca37d8e8bb427">IsKeySet</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#adac7bd4dc5fd3f94cab25317bd051a8b">AllColumnsSet</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a6c2542cadb315e477a3c0d730dc451dc">ToString</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const Schema *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1KuduPartialRow.html#a7e86b0d6683e9bfdf5c9b2a5bcaab745">schema</a> () const </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><a class="anchor" id="amgrpc40e968d825899bede6dcca1c575ce19"></a> Set value for a column by name.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the target column. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. </dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32532e669e3cc7646696725fa7d276c9"></a><!-- doxytag: member="kudu::KuduPartialRow::SetBool" ref="a32532e669e3cc7646696725fa7d276c9" args="(const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetBool</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, bool val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d9976fad1b295ea9ea81700fd477af5"></a><!-- doxytag: member="kudu::KuduPartialRow::SetInt8" ref="a5d9976fad1b295ea9ea81700fd477af5" args="(const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetInt8</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int8_t val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd1ae2b9abb73add1f7b198a8cca5654"></a><!-- doxytag: member="kudu::KuduPartialRow::SetInt16" ref="acd1ae2b9abb73add1f7b198a8cca5654" args="(const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetInt16</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int16_t val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7dfb37ba86277022c0b1e91fdc325841"></a><!-- doxytag: member="kudu::KuduPartialRow::SetInt32" ref="a7dfb37ba86277022c0b1e91fdc325841" args="(const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetInt32</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int32_t val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf4547a1c95884e7b5626392861d2da3"></a><!-- doxytag: member="kudu::KuduPartialRow::SetInt64" ref="aaf4547a1c95884e7b5626392861d2da3" args="(const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetInt64</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int64_t val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b5b067d8d97b312e7e469775ef170e8"></a><!-- doxytag: member="kudu::KuduPartialRow::SetUnixTimeMicros" ref="a7b5b067d8d97b312e7e469775ef170e8" args="(const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetUnixTimeMicros</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2256a8b2b7930c7451acd5ba9c2186d"></a><!-- doxytag: member="kudu::KuduPartialRow::SetFloat" ref="ae2256a8b2b7930c7451acd5ba9c2186d" args="(const Slice &amp;col_name, float val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetFloat</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, float val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a056b2bd68eb77c246875080a0f544378"></a><!-- doxytag: member="kudu::KuduPartialRow::SetDouble" ref="a056b2bd68eb77c246875080a0f544378" args="(const Slice &amp;col_name, double val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetDouble</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, double val) WARN_UNUSED_RESULT</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><a class="anchor" id="amgrp2f04c3c6fd3aebaef7263a3ff0caf724"></a> 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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>The index of the target column. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. </dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6c8aa2753b95bf8a5840f20acd49665"></a><!-- doxytag: member="kudu::KuduPartialRow::SetBool" ref="af6c8aa2753b95bf8a5840f20acd49665" args="(int col_idx, bool val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetBool</b> (int col_idx, bool val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4095b14afbaebd83ecb8868730ad8421"></a><!-- doxytag: member="kudu::KuduPartialRow::SetInt8" ref="a4095b14afbaebd83ecb8868730ad8421" args="(int col_idx, int8_t val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetInt8</b> (int col_idx, int8_t val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a177bc09abe34fd56c7a0b269515a6421"></a><!-- doxytag: member="kudu::KuduPartialRow::SetInt16" ref="a177bc09abe34fd56c7a0b269515a6421" args="(int col_idx, int16_t val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetInt16</b> (int col_idx, int16_t val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8b31d70561ff79552c85250fbcf5a41"></a><!-- doxytag: member="kudu::KuduPartialRow::SetInt32" ref="aa8b31d70561ff79552c85250fbcf5a41" args="(int col_idx, int32_t val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetInt32</b> (int col_idx, int32_t val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5804cf79423aff8751a21886a471142"></a><!-- doxytag: member="kudu::KuduPartialRow::SetInt64" ref="ae5804cf79423aff8751a21886a471142" args="(int col_idx, int64_t val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetInt64</b> (int col_idx, int64_t val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7293e8795b4da667dd43fb69512b8337"></a><!-- doxytag: member="kudu::KuduPartialRow::SetUnixTimeMicros" ref="a7293e8795b4da667dd43fb69512b8337" args="(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetUnixTimeMicros</b> (int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18eb40f9d534e985a89dca94883c317c"></a><!-- doxytag: member="kudu::KuduPartialRow::SetFloat" ref="a18eb40f9d534e985a89dca94883c317c" args="(int col_idx, float val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetFloat</b> (int col_idx, float val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae0ee927e6afcbc0e0789c3d0c92a676"></a><!-- doxytag: member="kudu::KuduPartialRow::SetDouble" ref="aae0ee927e6afcbc0e0789c3d0c92a676" args="(int col_idx, double val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetDouble</b> (int col_idx, double val) WARN_UNUSED_RESULT</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><a class="anchor" id="amgrp61f085b537a056cd0c590e16d4708620"></a> Set the binary/string value for a column by name, copying the specified data immediately.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the target column. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. </dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac59af59757eb47956804419a44f9752e"></a><!-- doxytag: member="kudu::KuduPartialRow::SetBinary" ref="ac59af59757eb47956804419a44f9752e" args="(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetBinary</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86dfa99606e168754046ad10f8acffed"></a><!-- doxytag: member="kudu::KuduPartialRow::SetString" ref="a86dfa99606e168754046ad10f8acffed" args="(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetString</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42767b9373109af2354412330d649969"></a><!-- doxytag: member="kudu::KuduPartialRow::SetBinaryCopy" ref="a42767b9373109af2354412330d649969" args="(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetBinaryCopy</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="accc27997b0643c05bf59a4e3f20fd6e2"></a><!-- doxytag: member="kudu::KuduPartialRow::SetStringCopy" ref="accc27997b0643c05bf59a4e3f20fd6e2" args="(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetStringCopy</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</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><a class="anchor" id="amgrp98c6568294bf67ced933e1c578399fca"></a> 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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>The index of the target column. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. </dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c5eb5fb465a5ce83c31c2368048585f"></a><!-- doxytag: member="kudu::KuduPartialRow::SetBinary" ref="a5c5eb5fb465a5ce83c31c2368048585f" args="(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetBinary</b> (int col_idx, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9cd9c6b24549271a655c8403590d4c0"></a><!-- doxytag: member="kudu::KuduPartialRow::SetString" ref="ad9cd9c6b24549271a655c8403590d4c0" args="(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetString</b> (int col_idx, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6eb3df8cac88920cdfcac52ce3d23ba0"></a><!-- doxytag: member="kudu::KuduPartialRow::SetStringCopy" ref="a6eb3df8cac88920cdfcac52ce3d23ba0" args="(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetStringCopy</b> (int col_idx, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d0b1a3c905fbcf91739afb66a2d96d3"></a><!-- doxytag: member="kudu::KuduPartialRow::SetBinaryCopy" ref="a5d0b1a3c905fbcf91739afb66a2d96d3" args="(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetBinaryCopy</b> (int col_idx, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</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><a class="anchor" id="amgrped9bb9454ab97904f39359e5ffe7b619"></a> Set the binary/string value for a column by name, not copying the specified data.</p>
<dl class="note"><dt><b>Note:</b></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the target column. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. </dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81af3bd4a8e3508d329eb347f28637d0"></a><!-- doxytag: member="kudu::KuduPartialRow::SetBinaryNoCopy" ref="a81af3bd4a8e3508d329eb347f28637d0" args="(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetBinaryNoCopy</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae59b2b080aaa4cdac3e86ff306b88252"></a><!-- doxytag: member="kudu::KuduPartialRow::SetStringNoCopy" ref="ae59b2b080aaa4cdac3e86ff306b88252" args="(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetStringNoCopy</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</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><a class="anchor" id="amgrp39cd39d21fcd936d4df595a3184b89e6"></a> 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="note"><dt><b>Note:</b></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>The index of the target column. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>The value to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. </dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8acae01607533ae46b80d47d8d928d14"></a><!-- doxytag: member="kudu::KuduPartialRow::SetBinaryNoCopy" ref="a8acae01607533ae46b80d47d8d928d14" args="(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetBinaryNoCopy</b> (int col_idx, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5347db0224e18954c15019428e82d02"></a><!-- doxytag: member="kudu::KuduPartialRow::SetStringNoCopy" ref="ad5347db0224e18954c15019428e82d02" args="(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetStringNoCopy</b> (int col_idx, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;val) WARN_UNUSED_RESULT</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><a class="anchor" id="amgrp1a040b2ab8ff1019c4c1ac7986a0f4b6"></a> Get value of the column specified by name.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> 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>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a655e89c045e97280976a22f9551341da"></a><!-- doxytag: member="kudu::KuduPartialRow::GetBool" ref="a655e89c045e97280976a22f9551341da" args="(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetBool</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, bool *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a544acf42a5567ea5a0fc7bf350120232"></a><!-- doxytag: member="kudu::KuduPartialRow::GetInt8" ref="a544acf42a5567ea5a0fc7bf350120232" args="(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt8</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad16fb1caac0535f7f8f587b901939470"></a><!-- doxytag: member="kudu::KuduPartialRow::GetInt16" ref="ad16fb1caac0535f7f8f587b901939470" args="(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt16</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ddbb19effb0e95436d63e2ae342843b"></a><!-- doxytag: member="kudu::KuduPartialRow::GetInt32" ref="a9ddbb19effb0e95436d63e2ae342843b" args="(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt32</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4bb9ce76705799cadddafdb658593bc"></a><!-- doxytag: member="kudu::KuduPartialRow::GetInt64" ref="aa4bb9ce76705799cadddafdb658593bc" args="(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt64</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5df18e20d3b953a0b8d6680ed6661fd6"></a><!-- doxytag: member="kudu::KuduPartialRow::GetUnixTimeMicros" ref="a5df18e20d3b953a0b8d6680ed6661fd6" args="(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetUnixTimeMicros</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d4611303c449daa422769f1fc406904"></a><!-- doxytag: member="kudu::KuduPartialRow::GetFloat" ref="a9d4611303c449daa422769f1fc406904" args="(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetFloat</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, float *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33237c147889b8617425271dc4e05a4f"></a><!-- doxytag: member="kudu::KuduPartialRow::GetDouble" ref="a33237c147889b8617425271dc4e05a4f" args="(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetDouble</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, double *val) const WARN_UNUSED_RESULT</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><a class="anchor" id="amgrp8257a92d3ffacb5e1d44fa1720f8888c"></a> 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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>The index of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> 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>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83eb4068694acae682176f3e43cbd2ba"></a><!-- doxytag: member="kudu::KuduPartialRow::GetBool" ref="a83eb4068694acae682176f3e43cbd2ba" args="(int col_idx, bool *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetBool</b> (int col_idx, bool *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3d9d52aec61e0ecc205c61d6f838cf5"></a><!-- doxytag: member="kudu::KuduPartialRow::GetInt8" ref="af3d9d52aec61e0ecc205c61d6f838cf5" args="(int col_idx, int8_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt8</b> (int col_idx, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1938395d2bbadb79e0916df06ee86d45"></a><!-- doxytag: member="kudu::KuduPartialRow::GetInt16" ref="a1938395d2bbadb79e0916df06ee86d45" args="(int col_idx, int16_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt16</b> (int col_idx, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f2d2daf2ed117f4cc931bec20b74cbd"></a><!-- doxytag: member="kudu::KuduPartialRow::GetInt32" ref="a6f2d2daf2ed117f4cc931bec20b74cbd" args="(int col_idx, int32_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt32</b> (int col_idx, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fc525273e0bcc905ab8b853d63317c2"></a><!-- doxytag: member="kudu::KuduPartialRow::GetInt64" ref="a6fc525273e0bcc905ab8b853d63317c2" args="(int col_idx, int64_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt64</b> (int col_idx, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07c3df80c46b78606f6029d46d86c19b"></a><!-- doxytag: member="kudu::KuduPartialRow::GetUnixTimeMicros" ref="a07c3df80c46b78606f6029d46d86c19b" args="(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbd11ce189dd68850c18b0ca48dc6c33"></a><!-- doxytag: member="kudu::KuduPartialRow::GetFloat" ref="acbd11ce189dd68850c18b0ca48dc6c33" args="(int col_idx, float *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetFloat</b> (int col_idx, float *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc7a57597f69025d845ea5e21a4abf89"></a><!-- doxytag: member="kudu::KuduPartialRow::GetDouble" ref="adc7a57597f69025d845ea5e21a4abf89" args="(int col_idx, double *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetDouble</b> (int col_idx, double *val) const WARN_UNUSED_RESULT</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><a class="anchor" id="amgrp84d245f3a6f0d584c57e867b85ebe9ad"></a> Get the string/binary value for a column by its name.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the column. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</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 <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> 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>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0490c91ed7808125f43c9e8abfe41c0"></a><!-- doxytag: member="kudu::KuduPartialRow::GetString" ref="ad0490c91ed7808125f43c9e8abfe41c0" args="(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetString</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ad466f4b76be57f66b0e69aa83abb7a"></a><!-- doxytag: member="kudu::KuduPartialRow::GetBinary" ref="a3ad466f4b76be57f66b0e69aa83abb7a" args="(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetBinary</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</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><a class="anchor" id="amgrpa506e4f53b3aff45d4d78614bdad96b9"></a> 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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_index</em>&nbsp;</td><td>The index of the column. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</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 <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> 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>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa240f555b571b35efd0535ffa754c777"></a><!-- doxytag: member="kudu::KuduPartialRow::GetString" ref="aa240f555b571b35efd0535ffa754c777" args="(int col_idx, Slice *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetString</b> (int col_idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7c4a90cd0b67721f6559be817ff80ad"></a><!-- doxytag: member="kudu::KuduPartialRow::GetBinary" ref="af7c4a90cd0b67721f6559be817ff80ad" args="(int col_idx, Slice *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetBinary</b> (int col_idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3efada50725e9e8ef4456b4b68418260"></a><!-- doxytag: member="kudu::KuduPartialRow::client::KuduWriteOperation" ref="a3efada50725e9e8ef4456b4b68418260" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>client::KuduWriteOperation</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35ea4a80cbbfa13186cc711cee6b415e"></a><!-- doxytag: member="kudu::KuduPartialRow::KeyUtilTest" ref="a35ea4a80cbbfa13186cc711cee6b415e" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>KeyUtilTest</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a563871d13e91ee68a82ce1bffca940e9"></a><!-- doxytag: member="kudu::KuduPartialRow::PartitionSchema" ref="a563871d13e91ee68a82ce1bffca940e9" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>PartitionSchema</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10abd48a6357bdd00368d25fffc0496f"></a><!-- doxytag: member="kudu::KuduPartialRow::RowOperationsPBDecoder" ref="a10abd48a6357bdd00368d25fffc0496f" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>RowOperationsPBDecoder</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06f23e742142966df27182b92677b056"></a><!-- doxytag: member="kudu::KuduPartialRow::RowOperationsPBEncoder" ref="a06f23e742142966df27182b92677b056" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>RowOperationsPBEncoder</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4784a03ff6ec372a1becfc5bbec699d5"></a><!-- doxytag: member="kudu::KuduPartialRow::TestScanSpec" ref="a4784a03ff6ec372a1becfc5bbec699d5" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>TestScanSpec</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6b4e71e86b60d02414a05c398bcbcc7"></a><!-- doxytag: member="kudu::KuduPartialRow::client::SliceKeysTestSetup" ref="ac6b4e71e86b60d02414a05c398bcbcc7" args="" -->
struct&nbsp;</td><td class="memItemRight" valign="bottom"><b>client::SliceKeysTestSetup</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac2b66fc3594d28dd232c9f19fa26e06"></a><!-- doxytag: member="kudu::KuduPartialRow::client::IntKeysTestSetup" ref="aac2b66fc3594d28dd232c9f19fa26e06" args="" -->
struct&nbsp;</td><td class="memItemRight" valign="bottom"><b>client::IntKeysTestSetup</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<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>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4a628a93a6e65c176277f8f7bfa57f24"></a><!-- doxytag: member="kudu::KuduPartialRow::KuduPartialRow" ref="a4a628a93a6e65c176277f8f7bfa57f24" args="(const Schema *schema)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">kudu::KuduPartialRow::KuduPartialRow </td>
          <td>(</td>
          <td class="paramtype">const Schema *&nbsp;</td>
          <td class="paramname"> <em>schema</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>schema</em>&nbsp;</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="aac9b016a50d2fd0bff9e65a15b145858"></a><!-- doxytag: member="kudu::KuduPartialRow::KuduPartialRow" ref="aac9b016a50d2fd0bff9e65a15b145858" args="(const KuduPartialRow &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">kudu::KuduPartialRow::KuduPartialRow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a copy of <a class="el" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> instance.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>other</em>&nbsp;</td><td><a class="el" href="classkudu_1_1KuduPartialRow.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>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="adac7bd4dc5fd3f94cab25317bd051a8b"></a><!-- doxytag: member="kudu::KuduPartialRow::AllColumnsSet" ref="adac7bd4dc5fd3f94cab25317bd051a8b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::KuduPartialRow::AllColumnsSet </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if all column values have been set. </dd></dl>

</div>
</div>
<a class="anchor" id="aa32dc4adfece4339b4b3a5e06641ae2b"></a><!-- doxytag: member="kudu::KuduPartialRow::EncodeRowKey" ref="aa32dc4adfece4339b4b3a5e06641ae2b" args="(std::string *encoded_key) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::KuduPartialRow::EncodeRowKey </td>
          <td>(</td>
          <td class="paramtype">std::string *&nbsp;</td>
          <td class="paramname"> <em>encoded_key</em></td>
          <td>&nbsp;)&nbsp;</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="pre"><dt><b>Precondition:</b></dt><dd>All of the key columns must be set.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>encoded_key</em>&nbsp;</td><td>The encoded key (i.e. the result of the encoding). </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></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="a33f55d03e1526ab8518159f4728ec3b5"></a><!-- doxytag: member="kudu::KuduPartialRow::IsColumnSet" ref="a33f55d03e1526ab8518159f4728ec3b5" args="(int col_idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::KuduPartialRow::IsColumnSet </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>col_idx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check whether the specified column is set for the row.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>The index of the column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> iff the given column has been specified. </dd></dl>

</div>
</div>
<a class="anchor" id="a66facdc963590a3e18e14ce63c3fc4ce"></a><!-- doxytag: member="kudu::KuduPartialRow::IsColumnSet" ref="a66facdc963590a3e18e14ce63c3fc4ce" args="(const Slice &amp;col_name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::KuduPartialRow::IsColumnSet </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>col_name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check whether the specified column is set for the row.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> iff the given column has been specified. </dd></dl>

</div>
</div>
<a class="anchor" id="af9a42359cb66910b863ca37d8e8bb427"></a><!-- doxytag: member="kudu::KuduPartialRow::IsKeySet" ref="af9a42359cb66910b863ca37d8e8bb427" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::KuduPartialRow::IsKeySet </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if all key column values have been set for this mutation. </dd></dl>

</div>
</div>
<a class="anchor" id="ab2cdcce0da4367954fc84d89d6e6fd82"></a><!-- doxytag: member="kudu::KuduPartialRow::IsNull" ref="ab2cdcce0da4367954fc84d89d6e6fd82" args="(int col_idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::KuduPartialRow::IsNull </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>col_idx</em></td>
          <td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>The index of the column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> iff the given column's value is <code>NULL</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a9d8b15e1818c4194ec91679383cc4b83"></a><!-- doxytag: member="kudu::KuduPartialRow::IsNull" ref="a9d8b15e1818c4194ec91679383cc4b83" args="(const Slice &amp;col_name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::KuduPartialRow::IsNull </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>col_name</em></td>
          <td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> iff the given column's value is <code>NULL</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a8116c82b3a0044a3620690cf614a1c03"></a><!-- doxytag: member="kudu::KuduPartialRow::operator=" ref="a8116c82b3a0044a3620690cf614a1c03" args="(KuduPartialRow other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a>&amp; kudu::KuduPartialRow::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a>&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Overwrite this <a class="el" href="classkudu_1_1KuduPartialRow.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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>other</em>&nbsp;</td><td><a class="el" href="classkudu_1_1KuduPartialRow.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="return"><dt><b>Returns:</b></dt><dd>Reference to the updated object. </dd></dl>

</div>
</div>
<a class="anchor" id="a7e86b0d6683e9bfdf5c9b2a5bcaab745"></a><!-- doxytag: member="kudu::KuduPartialRow::schema" ref="a7e86b0d6683e9bfdf5c9b2a5bcaab745" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const Schema* kudu::KuduPartialRow::schema </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The schema object for the partial row. </dd></dl>

</div>
</div>
<a class="anchor" id="a1c9e32f484473188117452f71992de78"></a><!-- doxytag: member="kudu::KuduPartialRow::SetNull" ref="a1c9e32f484473188117452f71992de78" args="(int col_idx) WARN_UNUSED_RESULT" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::KuduPartialRow::SetNull </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>col_idx</em></td>
          <td>&nbsp;)&nbsp;</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="classkudu_1_1KuduPartialRow.html#ae091ca103ca5b53408b8a5728940b9ee">Unset()</a> to restore column value to its default.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>The index of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a class="anchor" id="a93a9a38e819c147dac73bab4cf3936e0"></a><!-- doxytag: member="kudu::KuduPartialRow::SetNull" ref="a93a9a38e819c147dac73bab4cf3936e0" args="(const Slice &amp;col_name) WARN_UNUSED_RESULT" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::KuduPartialRow::SetNull </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>col_name</em></td>
          <td>&nbsp;)&nbsp;</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="classkudu_1_1KuduPartialRow.html#ae091ca103ca5b53408b8a5728940b9ee">Unset()</a> to restore column value to its default.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a class="anchor" id="ac31f2eca0c4e3024c83f32631d314d2b"></a><!-- doxytag: member="kudu::KuduPartialRow::ToEncodedRowKeyOrDie" ref="ac31f2eca0c4e3024c83f32631d314d2b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string kudu::KuduPartialRow::ToEncodedRowKeyOrDie </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</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="return"><dt><b>Returns:</b></dt><dd>The encoded key. </dd></dl>

</div>
</div>
<a class="anchor" id="a6c2542cadb315e477a3c0d730dc451dc"></a><!-- doxytag: member="kudu::KuduPartialRow::ToString" ref="a6c2542cadb315e477a3c0d730dc451dc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string kudu::KuduPartialRow::ToString </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>String representation for the partial row. </dd></dl>

</div>
</div>
<a class="anchor" id="a73497aee03ef217a90f108e83b87e0cd"></a><!-- doxytag: member="kudu::KuduPartialRow::Unset" ref="a73497aee03ef217a90f108e83b87e0cd" args="(int col_idx) WARN_UNUSED_RESULT" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::KuduPartialRow::Unset </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>col_idx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Unset the given column by index, restoring its default value.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This is different from setting it to <code>NULL</code>.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>The index of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a class="anchor" id="ae091ca103ca5b53408b8a5728940b9ee"></a><!-- doxytag: member="kudu::KuduPartialRow::Unset" ref="ae091ca103ca5b53408b8a5728940b9ee" args="(const Slice &amp;col_name) WARN_UNUSED_RESULT" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::KuduPartialRow::Unset </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>col_name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Unset the given column by name, restoring its default value.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This is different from setting it to <code>NULL</code>.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the target column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></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>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

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

<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.0.1 on Tue Oct 11 08:52:01 2016 by Doxygen 1.6.1</small>
  <br>
  <small>Copyright © 2016 The Apache Software Foundation.</small>
</address>
</body>
</html>
