<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kudu C++ client API: kudu::client::KuduTableAlterer 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>
<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.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classkudu_1_1client_1_1KuduTableAlterer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">kudu::client::KuduTableAlterer Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Alters an existing table based on the provided steps.  
 <a href="classkudu_1_1client_1_1KuduTableAlterer.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.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:aca8ea8d7b65e6952c76fd97f12d5b324"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">RenameTo</a> (const std::string &amp;new_name)</td></tr>
<tr class="separator:aca8ea8d7b65e6952c76fd97f12d5b324"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb9406a6a254997dd584ce6c2cf51cd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">AddColumn</a> (const std::string &amp;name)</td></tr>
<tr class="separator:acb9406a6a254997dd584ce6c2cf51cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d62bfbcfab6b99dcb057e7f7a4cf742"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">AlterColumn</a> (const std::string &amp;name)</td></tr>
<tr class="separator:a6d62bfbcfab6b99dcb057e7f7a4cf742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5a4ec376ec53ba912b85ea0057d10a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">DropColumn</a> (const std::string &amp;name)</td></tr>
<tr class="separator:ac5a4ec376ec53ba912b85ea0057d10a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a521a968f4db133a10629f76c75dde793"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793">AddRangePartition</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *lower_bound, <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *upper_bound, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>)</td></tr>
<tr class="separator:a521a968f4db133a10629f76c75dde793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a82d41c8e7181875c6a29bd3ce6f006"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">AddRangePartitionWithDimension</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *lower_bound, <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *upper_bound, const std::string &amp;dimension_label, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>)</td></tr>
<tr class="separator:a8a82d41c8e7181875c6a29bd3ce6f006"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0f8abf78d35725198876aaa04b737a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">DropRangePartition</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *lower_bound, <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *upper_bound, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>)</td></tr>
<tr class="separator:ab0f8abf78d35725198876aaa04b737a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eec4fd1b1c1d0245052599aa2692541"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">AlterExtraConfig</a> (const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</td></tr>
<tr class="separator:a3eec4fd1b1c1d0245052599aa2692541"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add2961a41c37a6b0fd869e0f553a04a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">timeout</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;timeout)</td></tr>
<tr class="separator:add2961a41c37a6b0fd869e0f553a04a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86e6d55d0888d4bc99789b1dcd0e5646"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">wait</a> (bool wait)</td></tr>
<tr class="separator:a86e6d55d0888d4bc99789b1dcd0e5646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14768f28048355d997e0ed4fa82e218c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter</a> ()</td></tr>
<tr class="separator:a14768f28048355d997e0ed4fa82e218c"><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>Alters an existing table based on the provided steps. </p>
<p>Create a new instance of a table alterer using <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">KuduClient::NewTableAlterer()</a>. An example of usage: </p><div class="fragment"><div class="line">std::unique_ptr&lt;KuduTableAlterer&gt; alterer(</div><div class="line">  client-&gt;NewTableAlterer(<span class="stringliteral">&quot;table-name&quot;</span>));</div><div class="line">alterer-&gt;AddColumn(<span class="stringliteral">&quot;foo&quot;</span>)-&gt;Type(KuduColumnSchema::INT32)-&gt;NotNull();</div><div class="line">alterer-&gt;AlterColumn(<span class="stringliteral">&quot;bar&quot;</span>)-&gt;Compression(KuduColumnStorageAttributes::LZ4);</div><div class="line">Status s = alterer-&gt;Alter();</div></div><!-- fragment --> </div><h2 class="groupheader">Member Function Documentation</h2>
<a id="acb9406a6a254997dd584ce6c2cf51cd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb9406a6a254997dd584ce6c2cf51cd0">&#9670;&nbsp;</a></span>AddColumn()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduTableAlterer::AddColumn </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a new column to the table.</p>
<p>When adding a column, you must specify the default value of the new column using KuduColumnSpec::DefaultValue(...).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name of the column do add. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the result ColumnSpec object. The alterer keeps ownership of the newly created object. </dd></dl>

</div>
</div>
<a id="a521a968f4db133a10629f76c75dde793"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a521a968f4db133a10629f76c75dde793">&#9670;&nbsp;</a></span>AddRangePartition()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::AddRangePartition </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
          <td class="paramname"><em>lower_bound</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
          <td class="paramname"><em>upper_bound</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
          <td class="paramname"><em>lower_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
          <td class="paramname"><em>upper_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a range partition to the table with the specified lower bound and upper bound.</p>
<dl class="section note"><dt>Note</dt><dd>The table alterer takes ownership of the rows.</dd>
<dd>
Multiple range partitions may be added as part of a single alter table transaction by calling this method multiple times on the table alterer.</dd>
<dd>
This client may immediately write and scan the new tablets when <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter()</a> returns success, however other existing clients may have to wait for a timeout period to elapse before the tablets become visible. This period is configured by the master's 'table_locations_ttl_ms' flag, and defaults to 5 minutes.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound</td><td>The lower bound of the range partition to add. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound</td><td>The upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>

</div>
</div>
<a id="a8a82d41c8e7181875c6a29bd3ce6f006"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a82d41c8e7181875c6a29bd3ce6f006">&#9670;&nbsp;</a></span>AddRangePartitionWithDimension()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::AddRangePartitionWithDimension </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
          <td class="paramname"><em>lower_bound</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
          <td class="paramname"><em>upper_bound</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>dimension_label</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
          <td class="paramname"><em>lower_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
          <td class="paramname"><em>upper_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a range partition to the table with dimension label.</p>
<dl class="section note"><dt>Note</dt><dd>The table alterer takes ownership of the rows.</dd>
<dd>
Multiple range partitions may be added as part of a single alter table transaction by calling this method multiple times on the table alterer.</dd>
<dd>
This client may immediately write and scan the new tablets when <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter()</a> returns success, however other existing clients may have to wait for a timeout period to elapse before the tablets become visible. This period is configured by the master's 'table_locations_ttl_ms' flag, and defaults to 5 minutes.</dd>
<dd>
See <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">KuduTableCreator::dimension_label()</a> for details on dimension label.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound</td><td>The lower bound of the range partition to add. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound</td><td>The upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dimension_label</td><td>The dimension label for the tablet to be created. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>

</div>
</div>
<a id="a14768f28048355d997e0ed4fa82e218c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14768f28048355d997e0ed4fa82e218c">&#9670;&nbsp;</a></span>Alter()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTableAlterer::Alter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome. ">Status</a> of the ALTER TABLE operation. The return value may indicate an error in the alter operation, or a misuse of the builder (e.g. add_column() with default_value=NULL). In the latter case, only the last error is returned. </dd></dl>

</div>
</div>
<a id="a6d62bfbcfab6b99dcb057e7f7a4cf742"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d62bfbcfab6b99dcb057e7f7a4cf742">&#9670;&nbsp;</a></span>AlterColumn()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduTableAlterer::AlterColumn </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Alter an existing column.</p>
<dl class="section note"><dt>Note</dt><dd>The column may not be in the primary key.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the column to alter. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the result ColumnSpec object. The alterer keeps ownership of the newly created object. </dd></dl>

</div>
</div>
<a id="a3eec4fd1b1c1d0245052599aa2692541"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3eec4fd1b1c1d0245052599aa2692541">&#9670;&nbsp;</a></span>AlterExtraConfig()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::AlterExtraConfig </td>
          <td>(</td>
          <td class="paramtype">const std::map&lt; std::string, std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>extra_configs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Change the table's extra configuration properties.</p>
<dl class="section note"><dt>Note</dt><dd>These configuration properties will be merged into existing configuration properties.</dd>
<dd>
If the value of the kv pair is empty, the property will be unset.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">extra_configs</td><td>The table's extra configuration properties. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>

</div>
</div>
<a id="ac5a4ec376ec53ba912b85ea0057d10a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5a4ec376ec53ba912b85ea0057d10a7">&#9670;&nbsp;</a></span>DropColumn()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::DropColumn </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Drops an existing column from the table.</p>
<dl class="section note"><dt>Note</dt><dd>The column may not be in the primary key.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the column to alter. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>

</div>
</div>
<a id="ab0f8abf78d35725198876aaa04b737a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0f8abf78d35725198876aaa04b737a7">&#9670;&nbsp;</a></span>DropRangePartition()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::DropRangePartition </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
          <td class="paramname"><em>lower_bound</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
          <td class="paramname"><em>upper_bound</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
          <td class="paramname"><em>lower_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
          <td class="paramname"><em>upper_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Drop the range partition from the table with the specified lower bound and upper bound. The bounds must match an existing range partition exactly, and may not span multiple range partitions.</p>
<dl class="section note"><dt>Note</dt><dd>The table alterer takes ownership of the rows.</dd>
<dd>
Multiple range partitions may be dropped as part of a single alter table transaction by calling this method multiple times on the table alterer.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound</td><td>The inclusive lower bound of the range partition to drop. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound</td><td>The exclusive upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>

</div>
</div>
<a id="aca8ea8d7b65e6952c76fd97f12d5b324"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca8ea8d7b65e6952c76fd97f12d5b324">&#9670;&nbsp;</a></span>RenameTo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::RenameTo </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>new_name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Rename the table.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_name</td><td>The new name for the table. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>

</div>
</div>
<a id="add2961a41c37a6b0fd869e0f553a04a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add2961a41c37a6b0fd869e0f553a04a1">&#9670;&nbsp;</a></span>timeout()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::timeout </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
          <td class="paramname"><em>timeout</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set a timeout for the alteration operation.</p>
<p>This includes any waiting after the alter has been submitted (i.e. if the alter is slow to be performed on a large table, it may time out and then later be successful).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Timeout to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>

</div>
</div>
<a id="a86e6d55d0888d4bc99789b1dcd0e5646"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86e6d55d0888d4bc99789b1dcd0e5646">&#9670;&nbsp;</a></span>wait()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::wait </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>wait</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Whether to wait for completion of alteration operations.</p>
<p>If set to <code>true</code>, an alteration operation returns control only after the operation is complete. Otherwise, every operation returns immediately. By default (i.e. when an alteration object is created) it is set to <code>true</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">wait</td><td>Whether to wait for alteration operation to complete before returning control. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.11.1 on Tue Nov 19 2019 23:11:03 by Doxygen 1.8.13</small>
  <br>
  <small>Copyright © 2019 The Apache Software Foundation.</small>
</address>
</body>
</html>
