<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kudu C++ client API: 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>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kudu C++ client API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</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 class="anchor" id="acb9406a6a254997dd584ce6c2cf51cd0"></a>
<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 class="anchor" id="a521a968f4db133a10629f76c75dde793"></a>
<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 class="anchor" id="a8a82d41c8e7181875c6a29bd3ce6f006"></a>
<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 class="anchor" id="a14768f28048355d997e0ed4fa82e218c"></a>
<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 class="anchor" id="a6d62bfbcfab6b99dcb057e7f7a4cf742"></a>
<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 class="anchor" id="a3eec4fd1b1c1d0245052599aa2692541"></a>
<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 class="anchor" id="ac5a4ec376ec53ba912b85ea0057d10a7"></a>
<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 class="anchor" id="ab0f8abf78d35725198876aaa04b737a7"></a>
<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 class="anchor" id="aca8ea8d7b65e6952c76fd97f12d5b324"></a>
<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 class="anchor" id="add2961a41c37a6b0fd869e0f553a04a1"></a>
<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 class="anchor" id="a86e6d55d0888d4bc99789b1dcd0e5646"></a>
<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.12.0 on Mon May 18 2020 14:07:10 by Doxygen 1.8.11</small>
  <br>
  <small>Copyright © 2020 The Apache Software Foundation.</small>
</address>
</body>
</html>
