blob: 9ce0ebcb3181be3e16311421b87ce7150c0371dd [file] [log] [blame]
<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Kudu C++ client API: kudu::client::KuduTableCreator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<img id="MSearchSelect" src="search/search.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</div>
</li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
<div class="navpath"><b>kudu</b>::<b>client</b>::<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>
</div>
</div>
<div class="contents">
<h1>kudu::client::KuduTableCreator Class Reference</h1><!-- doxytag: class="kudu::client::KuduTableCreator" -->
<p>A helper class to create a new table with the desired options.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
<p><a href="classkudu_1_1client_1_1KuduTableCreator-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</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>
}</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Range partition bound type. </p>
<a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</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="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> *lower_bound, <a class="el" href="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> *upper_bound, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> lower_bound_type=INCLUSIVE_BOUND, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> upper_bound_type=EXCLUSIVE_BOUND)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</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="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> *split_row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a14e3f3ad7f8c5ef8efd810ea52970678">split_rows</a> (const std::vector&lt; const <a class="el" href="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> * &gt; &amp;split_rows)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a> (bool wait)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">Create</a> ()</td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b5a804db2a148e792148f521f04b486"></a><!-- doxytag: member="kudu::client::KuduTableCreator::KuduClient" ref="a5b5a804db2a148e792148f521f04b486" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>KuduClient</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A helper class to create a new table with the desired options. </p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a0a63fdc58e8062e505f4fa71d6f2343b"></a><!-- doxytag: member="kudu::client::KuduTableCreator::RangePartitionBound" ref="a0a63fdc58e8062e505f4fa71d6f2343b" args="" -->
<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>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"></a><!-- doxytag: member="EXCLUSIVE_BOUND" ref="a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601" args="" -->EXCLUSIVE_BOUND</em>&nbsp;</td><td>
<p>An exclusive bound. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"></a><!-- doxytag: member="INCLUSIVE_BOUND" ref="a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950" args="" -->INCLUSIVE_BOUND</em>&nbsp;</td><td>
<p>An inclusive bound. </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a9cdcee398f94af53d721e3d085929d24"></a><!-- doxytag: member="kudu::client::KuduTableCreator::add_hash_partitions" ref="a9cdcee398f94af53d721e3d085929d24" args="(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)" -->
<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;&nbsp;</td>
<td class="paramname"> <em>columns</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>num_buckets</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>seed</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<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><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>columns</em>&nbsp;</td><td>Names of columns to use for partitioning. </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>num_buckets</em>&nbsp;</td><td>Number of buckets for the hashing. </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>seed</em>&nbsp;</td><td>Hash: seed for mapping rows to hash buckets. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a class="anchor" id="a989ccdb9b6f4186d3227d3811048538e"></a><!-- doxytag: member="kudu::client::KuduTableCreator::add_hash_partitions" ref="a989ccdb9b6f4186d3227d3811048538e" args="(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)" -->
<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;&nbsp;</td>
<td class="paramname"> <em>columns</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&nbsp;</td>
<td class="paramname"> <em>num_buckets</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<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><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>columns</em>&nbsp;</td><td>Names of columns to use for partitioning. </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>num_buckets</em>&nbsp;</td><td>Number of buckets for the hashing. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a class="anchor" id="aac3d941bf3b381c08f64ed919680984a"></a><!-- doxytag: member="kudu::client::KuduTableCreator::add_range_partition" ref="aac3d941bf3b381c08f64ed919680984a" args="(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, RangePartitionBound lower_bound_type=INCLUSIVE_BOUND, RangePartitionBound upper_bound_type=EXCLUSIVE_BOUND)" -->
<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="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> *&nbsp;</td>
<td class="paramname"> <em>lower_bound</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> *&nbsp;</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>&nbsp;</td>
<td class="paramname"> <em>lower_bound_type</em> = <code>INCLUSIVE_BOUND</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>&nbsp;</td>
<td class="paramname"> <em>upper_bound_type</em> = <code>EXCLUSIVE_BOUND</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<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><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>lower_bound</em>&nbsp;</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 valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>upper_bound</em>&nbsp;</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 valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>lower_bound_type</em>&nbsp;</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>upper_bound_type</em>&nbsp;</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a class="anchor" id="adbdd2208d9ede696704fbecea15bea1f"></a><!-- doxytag: member="kudu::client::KuduTableCreator::add_range_partition_split" ref="adbdd2208d9ede696704fbecea15bea1f" args="(KuduPartialRow *split_row)" -->
<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="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> *&nbsp;</td>
<td class="paramname"> <em>split_row</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Add a range partition split at the provided row.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>split_row</em>&nbsp;</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="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a class="anchor" id="a30efad5c256dae0af7bb43599403b1cc"></a><!-- doxytag: member="kudu::client::KuduTableCreator::Create" ref="a30efad5c256dae0af7bb43599403b1cc" args="()" -->
<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>&nbsp;)&nbsp;</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="pre"><dt><b>Precondition:</b></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="return"><dt><b>Returns:</b></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 class="anchor" id="a9dd4673755ba242eab3f06b19182d139"></a><!-- doxytag: member="kudu::client::KuduTableCreator::num_replicas" ref="a9dd4673755ba242eab3f06b19182d139" args="(int n_replicas)" -->
<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&nbsp;</td>
<td class="paramname"> <em>n_replicas</em></td>
<td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n_replicas</em>&nbsp;</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="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a class="anchor" id="a38a83cf0e856ebaf4a5afe8c4a1d06f7"></a><!-- doxytag: member="kudu::client::KuduTableCreator::schema" ref="a38a83cf0e856ebaf4a5afe8c4a1d06f7" args="(const KuduSchema *schema)" -->
<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> *&nbsp;</td>
<td class="paramname"> <em>schema</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the schema with which to create the table.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>schema</em>&nbsp;</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="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator.</dd></dl>
<dl class="remark"><dt><b>Remarks:</b></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 class="anchor" id="a482701285b7a071dd56f04df480bc7c3"></a><!-- doxytag: member="kudu::client::KuduTableCreator::set_range_partition_columns" ref="a482701285b7a071dd56f04df480bc7c3" args="(const std::vector&lt; std::string &gt; &amp;columns)" -->
<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;&nbsp;</td>
<td class="paramname"> <em>columns</em></td>
<td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>columns</em>&nbsp;</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="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a class="anchor" id="a14e3f3ad7f8c5ef8efd810ea52970678"></a><!-- doxytag: member="kudu::client::KuduTableCreator::split_rows" ref="a14e3f3ad7f8c5ef8efd810ea52970678" args="(const std::vector&lt; const KuduPartialRow * &gt; &amp;split_rows)" -->
<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="classkudu_1_1KuduPartialRow.html">KuduPartialRow</a> * &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>split_rows</em></td>
<td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>split_rows</em>&nbsp;</td><td>The row to use for partitioning. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a class="anchor" id="a15126b62437fc1741b41249080376f93"></a><!-- doxytag: member="kudu::client::KuduTableCreator::table_name" ref="a15126b62437fc1741b41249080376f93" args="(const std::string &amp;name)" -->
<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;&nbsp;</td>
<td class="paramname"> <em>name</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set name for the table.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the target table. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator.</dd></dl>
<dl class="remark"><dt><b>Remarks:</b></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 class="anchor" id="a52855857927fe1a08fbd4c81e746c235"></a><!-- doxytag: member="kudu::client::KuduTableCreator::timeout" ref="a52855857927fe1a08fbd4c81e746c235" args="(const MonoDelta &amp;timeout)" -->
<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;&nbsp;</td>
<td class="paramname"> <em>timeout</em></td>
<td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>timeout</em>&nbsp;</td><td>Timeout to set. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a class="anchor" id="a48f9e977356c37666106f303100198d9"></a><!-- doxytag: member="kudu::client::KuduTableCreator::wait" ref="a48f9e977356c37666106f303100198d9" args="(bool wait)" -->
<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&nbsp;</td>
<td class="paramname"> <em>wait</em></td>
<td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>wait</em>&nbsp;</td><td>Whether to wait for completion of operations. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></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>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
<small>Generated for Kudu version 1.0.1 on Tue Oct 11 08:52:01 2016 by Doxygen 1.6.1</small>
<br>
<small>Copyright © 2016 The Apache Software Foundation.</small>
</address>
</body>
</html>