<!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::KuduTableCreator 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_1KuduTableCreator.html">KuduTableCreator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classkudu_1_1client_1_1KuduTableCreator-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">kudu::client::KuduTableCreator Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A helper class to create a new table with the desired options.  
 <a href="classkudu_1_1client_1_1KuduTableCreator.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-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a0a63fdc58e8062e505f4fa71d6f2343b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> { <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a>, 
<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a>
 }<tr class="memdesc:a0a63fdc58e8062e505f4fa71d6f2343b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Range partition bound type.  <a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a0a63fdc58e8062e505f4fa71d6f2343b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a15126b62437fc1741b41249080376f93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name</a> (const std::string &amp;name)</td></tr>
<tr class="separator:a15126b62437fc1741b41249080376f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38a83cf0e856ebaf4a5afe8c4a1d06f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *schema)</td></tr>
<tr class="separator:a38a83cf0e856ebaf4a5afe8c4a1d06f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a989ccdb9b6f4186d3227d3811048538e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions</a> (const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)</td></tr>
<tr class="separator:a989ccdb9b6f4186d3227d3811048538e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cdcee398f94af53d721e3d085929d24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24">add_hash_partitions</a> (const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)</td></tr>
<tr class="separator:a9cdcee398f94af53d721e3d085929d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a482701285b7a071dd56f04df480bc7c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">set_range_partition_columns</a> (const std::vector&lt; std::string &gt; &amp;columns)</td></tr>
<tr class="separator:a482701285b7a071dd56f04df480bc7c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac3d941bf3b381c08f64ed919680984a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">add_range_partition</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">RangePartitionBound</a> lower_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a>, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> upper_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a>)</td></tr>
<tr class="separator:aac3d941bf3b381c08f64ed919680984a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbdd2208d9ede696704fbecea15bea1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *split_row)</td></tr>
<tr class="separator:adbdd2208d9ede696704fbecea15bea1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac296091e47ca0dce18cc26e2b24b54a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ac296091e47ca0dce18cc26e2b24b54a6">split_rows</a> (const std::vector&lt; const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&gt; &amp;split_rows) ATTRIBUTE_DEPRECATED(&quot;use <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a>() instead&quot;)</td></tr>
<tr class="separator:ac296091e47ca0dce18cc26e2b24b54a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dd4673755ba242eab3f06b19182d139"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">num_replicas</a> (int n_replicas)</td></tr>
<tr class="separator:a9dd4673755ba242eab3f06b19182d139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0e832f6d358f9572ee1cf7f755e1658"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">dimension_label</a> (const std::string &amp;dimension_label)</td></tr>
<tr class="separator:af0e832f6d358f9572ee1cf7f755e1658"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fe4f05dab63be87058b81f1b380f2cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">extra_configs</a> (const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</td></tr>
<tr class="separator:a0fe4f05dab63be87058b81f1b380f2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52855857927fe1a08fbd4c81e746c235"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">timeout</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;timeout)</td></tr>
<tr class="separator:a52855857927fe1a08fbd4c81e746c235"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48f9e977356c37666106f303100198d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a> (bool wait)</td></tr>
<tr class="separator:a48f9e977356c37666106f303100198d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30efad5c256dae0af7bb43599403b1cc"><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_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">Create</a> ()</td></tr>
<tr class="separator:a30efad5c256dae0af7bb43599403b1cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A helper class to create a new table with the desired options. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a0a63fdc58e8062e505f4fa71d6f2343b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a63fdc58e8062e505f4fa71d6f2343b">&#9670;&nbsp;</a></span>RangePartitionBound</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">kudu::client::KuduTableCreator::RangePartitionBound</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Range partition bound type. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"></a>EXCLUSIVE_BOUND&#160;</td><td class="fielddoc"><p>An exclusive bound. </p>
</td></tr>
<tr><td class="fieldname"><a id="a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"></a>INCLUSIVE_BOUND&#160;</td><td class="fielddoc"><p>An inclusive bound. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a989ccdb9b6f4186d3227d3811048538e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a989ccdb9b6f4186d3227d3811048538e">&#9670;&nbsp;</a></span>add_hash_partitions() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_hash_partitions </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>num_buckets</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a set of hash partitions to the table.</p>
<p>Tables must be created with either range, hash, or range and hash partitioning.</p>
<p>For each set of hash partitions added to the table, the total number of tablets is multiplied by the number of buckets. For example, if a table is created with 3 split rows, and 2 hash partitions with 4 and 5 buckets respectively, the total number of tablets will be 80 (4 range partitions * 4 hash buckets * 5 hash buckets).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Names of columns to use for partitioning. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">num_buckets</td><td>Number of buckets for the hashing. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>

</div>
</div>
<a id="a9cdcee398f94af53d721e3d085929d24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cdcee398f94af53d721e3d085929d24">&#9670;&nbsp;</a></span>add_hash_partitions() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_hash_partitions </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>num_buckets</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>seed</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a set of hash partitions to the table (with seed).</p>
<p>This method is exactly the same as <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions()</a> above, with the exception of additional seed value, which can be used to randomize the mapping of rows to hash buckets. Setting the seed may provide some amount of protection against denial of service attacks when the hashed columns contain user provided values.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Names of columns to use for partitioning. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">num_buckets</td><td>Number of buckets for the hashing. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">seed</td><td>Hash: seed for mapping rows to hash buckets. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_range_partition </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">RangePartitionBound</a>&#160;</td>
          <td class="paramname"><em>lower_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">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">RangePartitionBound</a>&#160;</td>
          <td class="paramname"><em>upper_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">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.</p>
<p>Multiple range partitions may be added, but they must not overlap. All range splits specified by <code>add_range_partition_split</code> must fall in a range partition. The lower bound must be less than or equal to the upper bound.</p>
<p>If this method is not called, the table's range will be unbounded.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound</td><td>Row to use as a lower bound. The <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options. ">KuduTableCreator</a> instance takes ownership of this parameter. If row is empty, no lower bound is imposed on the table range. If a column of the <code>lower_bound</code> row is missing a value, the logical minimum value for that column type is used as the default. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound</td><td>Row to use as an upper bound. The <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options. ">KuduTableCreator</a> instance takes ownership of this parameter. If row is empty, no upper bound is imposed on the table range. If a column of the <code>upper_bound</code> row is missing a value, the logical maximum value for that column type is used as the 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>Reference to the modified table creator. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_range_partition_split </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
          <td class="paramname"><em>split_row</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add a range partition split at the provided row.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">split_row</td><td>The row to use for partitioning. If the row is missing a value for any of the range partition columns, the logical minimum value for that column type will be used by default. The <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options. ">KuduTableCreator</a> object takes ownership of the parameter. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>

</div>
</div>
<a id="a30efad5c256dae0af7bb43599403b1cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30efad5c256dae0af7bb43599403b1cc">&#9670;&nbsp;</a></span>Create()</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::KuduTableCreator::Create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a table in accordance with parameters currently set for the <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options. ">KuduTableCreator</a> instance. Once created, the table handle can be obtained using <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">KuduClient::OpenTable()</a> method.</p>
<dl class="section pre"><dt>Precondition</dt><dd>The following methods of the <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options. ">KuduTableCreator</a> must be called prior to invoking this method: <ul>
<li><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name()</a> </li>
<li><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema()</a></li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Result status of the <code>CREATE TABLE</code> operation. The return value may indicate an error in the create table operation, or a misuse of the builder. In the latter case, only the last error is returned. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::dimension_label </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>dimension_label</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the dimension label for all tablets created at table creation time.</p>
<dl class="section note"><dt>Note</dt><dd>By default, the master will try to place newly created tablet replicas on tablet servers with a small number of tablet replicas. If the dimension label is provided, newly created replicas will be evenly distributed in the cluster based on the dimension label. In other words, the master will try to place newly created tablet replicas on tablet servers with a small number of tablet replicas belonging to this dimension label.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dimension_label</td><td>The dimension label for the tablet to be created. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::extra_configs </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>Sets the table's extra configuration properties.</p>
<p>If the value of the kv pair is empty, the property will be ignored.</p>
<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>Reference to the modified table creator. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::num_replicas </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n_replicas</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the table replication factor.</p>
<p>Replicated tables can continue to read and write data while a majority of replicas are not failed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">n_replicas</td><td>Number of replicas to set. This should be an odd number. If not provided (or if &lt;= 0), falls back to the server-side default. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::schema </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *&#160;</td>
          <td class="paramname"><em>schema</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the schema with which to create the table.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">schema</td><td>Schema to use. Must remain valid for the lifetime of the builder. Must be non-NULL. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>Calling this method and setting schema for the table-to-be is one of the pre-conditions for calling <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">KuduTableCreator::Create()</a> method. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::set_range_partition_columns </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>columns</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the columns on which the table will be range-partitioned.</p>
<p>Tables must be created with either range, hash, or range and hash partitioning. To force the use of a single tablet (not recommended), call this method with an empty vector and set no split rows and no hash partitions.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Names of columns to use for partitioning. Every column must be a part of the table's primary key. If not set, or if called with an empty vector, the table will be created without range partitioning. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::split_rows </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&gt; &amp;&#160;</td>
          <td class="paramname"><em>split_rows</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split()</a></code> instead.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">split_rows</td><td>The row to use for partitioning. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::table_name </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>Set name for the table.</p>
<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 target table. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>Calling this method and setting the name for the table-to-be is one of the pre-conditions for calling <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">KuduTableCreator::Create()</a> method.</dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Should name of the table be a constructor's parameter instead? </dd></dl>

</div>
</div>
<a id="a52855857927fe1a08fbd4c81e746c235"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52855857927fe1a08fbd4c81e746c235">&#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_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::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 the timeout for the table creation operation.</p>
<p>This includes any waiting after the create has been submitted (i.e. if the create is slow to be performed for 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>Reference to the modified table creator. </dd></dl>

</div>
</div>
<a id="a48f9e977356c37666106f303100198d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48f9e977356c37666106f303100198d9">&#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_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::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>Wait for the table to be fully created before returning.</p>
<p>If not called, defaults 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 completion of operations. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </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.0 on Tue Nov 5 2019 11:58:25 by Doxygen 1.8.13</small>
  <br>
  <small>Copyright © 2019 The Apache Software Foundation.</small>
</address>
</body>
</html>
