blob: e8a81b82d6970c3791f307d144c3137ef08b7357 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kudu C++ client API: kudu::client::KuduColumnSpec 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.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</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_1KuduColumnSpec.html">KuduColumnSpec</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_1KuduColumnSpec-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">kudu::client::KuduColumnSpec Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Builder API for specifying or altering a column within a table schema.
<a href="classkudu_1_1client_1_1KuduColumnSpec.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="schema_8h_source.html">schema.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:a92c63c0e1872c03fcabeac19d802f6c7"><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_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">Default</a> (<a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *value)</td></tr>
<tr class="separator:a92c63c0e1872c03fcabeac19d802f6c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9ed2e008ee926ee50c23e664d854e8b"><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_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">Compression</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">KuduColumnStorageAttributes::CompressionType</a> compression)</td></tr>
<tr class="separator:ad9ed2e008ee926ee50c23e664d854e8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0ceeb41ac1427c2472a2f28778b6e97"><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_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">Encoding</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">KuduColumnStorageAttributes::EncodingType</a> encoding)</td></tr>
<tr class="separator:ae0ceeb41ac1427c2472a2f28778b6e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8502dd68c6743c7c66b2b6a02d41a4e6"><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_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">BlockSize</a> (int32_t block_size)</td></tr>
<tr class="separator:a8502dd68c6743c7c66b2b6a02d41a4e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad34607a281ef097705a81bfbdb6ce3b6"><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_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">Comment</a> (const std::string &amp;comment)</td></tr>
<tr class="separator:ad34607a281ef097705a81bfbdb6ce3b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Operations only relevant for decimal columns.</div></td></tr>
<tr class="memitem:af28d86b2b63c9c5f8e9ca50871b60bcb"><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_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">Precision</a> (int8_t precision)</td></tr>
<tr class="separator:af28d86b2b63c9c5f8e9ca50871b60bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2d1fe7273f0f5d656375e53f96ac777"><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_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">Scale</a> (int8_t scale)</td></tr>
<tr class="separator:ad2d1fe7273f0f5d656375e53f96ac777"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Operation only relevant for VARCHAR columns.</div></td></tr>
<tr class="memitem:ae12c40324397f844d9c8c7c3a6cf49cd"><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_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">Length</a> (uint16_t length)</td></tr>
<tr class="separator:ae12c40324397f844d9c8c7c3a6cf49cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Operations only relevant for Create Table</div></td></tr>
<tr class="memitem:a48a1457d2f4379a59c29280907c7f3c2"><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_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">PrimaryKey</a> ()</td></tr>
<tr class="separator:a48a1457d2f4379a59c29280907c7f3c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8c64c5a8a7a93ec644d481f23d91cca"><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_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">NotNull</a> ()</td></tr>
<tr class="separator:af8c64c5a8a7a93ec644d481f23d91cca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab05d7d45f4cd2dadb8e0c715d87e841"><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_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">Nullable</a> ()</td></tr>
<tr class="separator:aab05d7d45f4cd2dadb8e0c715d87e841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67e794a08387e17ba430d6942419a2c2"><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_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">Type</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">KuduColumnSchema::DataType</a> type)</td></tr>
<tr class="separator:a67e794a08387e17ba430d6942419a2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Operations only relevant for Alter Table</div></td></tr>
<tr class="memitem:ade0ba64b4ff59889755800b817419b82"><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_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">RemoveDefault</a> ()</td></tr>
<tr class="separator:ade0ba64b4ff59889755800b817419b82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeb2cbbaa01253165202574db03872f4"><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_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">RenameTo</a> (const std::string &amp;new_name)</td></tr>
<tr class="separator:abeb2cbbaa01253165202574db03872f4"><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>Builder API for specifying or altering a column within a table schema. </p>
<p>An object of this type cannot be constructed directly, but rather is returned from <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">KuduSchemaBuilder::AddColumn()</a> to specify a column within a Schema.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>KUDU-861: this API will also be used for an improved AlterTable API. </dd></dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a8502dd68c6743c7c66b2b6a02d41a4e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8502dd68c6743c7c66b2b6a02d41a4e6">&#9670;&nbsp;</a></span>BlockSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::BlockSize </td>
<td>(</td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>block_size</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the target block size for the column.</p>
<p>This is the number of bytes of user data packed per block on disk, and represents the unit of IO when reading the column. Larger values may improve scan performance, particularly on spinning media. Smaller values may improve random access performance, particularly for workloads that have high cache hit rates or operate on fast storage such as SSD.</p>
<dl class="section note"><dt>Note</dt><dd>The block size specified here corresponds to uncompressed data. The actual size of the unit read from disk may be smaller if compression is enabled.</dd>
<dd>
It's recommended that this not be set any lower than 4096 (4KB) or higher than 1048576 (1MB). </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000011">Todo:</a></b></dt><dd>KUDU-1107: move above info to docs</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">block_size</td><td>Block size (in bytes) to use. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="ad34607a281ef097705a81bfbdb6ce3b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad34607a281ef097705a81bfbdb6ce3b6">&#9670;&nbsp;</a></span>Comment()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Comment </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>comment</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the comment of the column.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">comment</td><td>The comment for the column. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="ad9ed2e008ee926ee50c23e664d854e8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9ed2e008ee926ee50c23e664d854e8b">&#9670;&nbsp;</a></span>Compression()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Compression </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">KuduColumnStorageAttributes::CompressionType</a>&#160;</td>
<td class="paramname"><em>compression</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the preferred compression type for the column.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">compression</td><td>The compression type to use. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="a92c63c0e1872c03fcabeac19d802f6c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92c63c0e1872c03fcabeac19d802f6c7">&#9670;&nbsp;</a></span>Default()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Default </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the default value for the column.</p>
<p>When adding a new column to a table, this default value will be used to fill the new column in all existing rows. The default value will also be used when inserting a new row with no value for the column.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to use as the default. The <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html" title="Builder API for specifying or altering a column within a table schema.">KuduColumnSpec</a> takes ownership over the passed parameter.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="ae0ceeb41ac1427c2472a2f28778b6e97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0ceeb41ac1427c2472a2f28778b6e97">&#9670;&nbsp;</a></span>Encoding()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Encoding </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">KuduColumnStorageAttributes::EncodingType</a>&#160;</td>
<td class="paramname"><em>encoding</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the preferred encoding for the column.</p>
<dl class="section note"><dt>Note</dt><dd>Not all encodings are supported for all column types.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">encoding</td><td>The encoding to use. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="ae12c40324397f844d9c8c7c3a6cf49cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae12c40324397f844d9c8c7c3a6cf49cd">&#9670;&nbsp;</a></span>Length()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Length </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>length</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the length for a column.</p>
<p>Clients can specify a length for VARCHAR columns. Length represents the maximum length of a VARCHAR column in characters.</p>
<p>The length must be greater than 0 and less than 65536. If no length is provided a default length of 65535 is used.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Desired length to set. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="af8c64c5a8a7a93ec644d481f23d91cca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8c64c5a8a7a93ec644d481f23d91cca">&#9670;&nbsp;</a></span>NotNull()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::NotNull </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the column to be not nullable.</p>
<dl class="section note"><dt>Note</dt><dd>Column nullability may not be changed once a table is created.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="aab05d7d45f4cd2dadb8e0c715d87e841"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab05d7d45f4cd2dadb8e0c715d87e841">&#9670;&nbsp;</a></span>Nullable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Nullable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the column to be nullable (the default).</p>
<dl class="section note"><dt>Note</dt><dd>Column nullability may not be changed once a table is created.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="af28d86b2b63c9c5f8e9ca50871b60bcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af28d86b2b63c9c5f8e9ca50871b60bcb">&#9670;&nbsp;</a></span>Precision()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Precision </td>
<td>(</td>
<td class="paramtype">int8_t&#160;</td>
<td class="paramname"><em>precision</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the precision for the column.</p>
<p>Clients must specify a precision for decimal columns. Precision is the total number of digits that can be represented by the column, regardless of the location of the decimal point. For example, representing integer values up to 9999, and fractional values up to 99.99, both require a precision of 4. You can also represent corresponding negative values, without any change in the precision. For example, the range -9999 to 9999 still only requires a precision of 4.</p>
<p>The precision must be between 1 and 38.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">precision</td><td>Desired precision to set. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="a48a1457d2f4379a59c29280907c7f3c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48a1457d2f4379a59c29280907c7f3c2">&#9670;&nbsp;</a></span>PrimaryKey()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::PrimaryKey </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the column to be the primary key of the table.</p>
<p>This may only be used to set non-composite primary keys. If a composite key is desired, use <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">KuduSchemaBuilder::SetPrimaryKey()</a>. This may not be used in conjunction with <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">KuduSchemaBuilder::SetPrimaryKey()</a>.</p>
<dl class="section note"><dt>Note</dt><dd>Primary keys may not be changed after a table is created.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="ade0ba64b4ff59889755800b817419b82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade0ba64b4ff59889755800b817419b82">&#9670;&nbsp;</a></span>RemoveDefault()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::RemoveDefault </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove the default value for the column.</p>
<p>Without a default, clients must always specify a value for the column when inserting data.</p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="abeb2cbbaa01253165202574db03872f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abeb2cbbaa01253165202574db03872f4">&#9670;&nbsp;</a></span>RenameTo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::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 column.</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 column. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="ad2d1fe7273f0f5d656375e53f96ac777"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2d1fe7273f0f5d656375e53f96ac777">&#9670;&nbsp;</a></span>Scale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Scale </td>
<td>(</td>
<td class="paramtype">int8_t&#160;</td>
<td class="paramname"><em>scale</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the scale for the column.</p>
<p>Clients can specify a scale for decimal columns. Scale represents the number of fractional digits. This value must be less than or equal to precision. A scale of 0 produces integral values, with no fractional part. If precision and scale are equal, all the digits come after the decimal point, making all the values between 0.9999 and -0.9999.</p>
<p>The scale must be greater than 0 and less than the column's precision. If no scale is provided a default scale of 0 is used.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>Desired scale to set. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
</div>
</div>
<a id="a67e794a08387e17ba430d6942419a2c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67e794a08387e17ba430d6942419a2c2">&#9670;&nbsp;</a></span>Type()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Type </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">KuduColumnSchema::DataType</a>&#160;</td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the data type of the column.</p>
<dl class="section note"><dt>Note</dt><dd>Column data types may not be changed once a table is created.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>The data type to set. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified 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="schema_8h_source.html">schema.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
<small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
<br>
<small>Copyright © 2021 The Apache Software Foundation.</small>
</address>
</body>
</html>