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

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_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><td colspan="2"><div class="groupText"><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></td></tr>
<tr class="memitem:af28d86b2b63c9c5f8e9ca50871b60bcb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af28d86b2b63c9c5f8e9ca50871b60bcb"></a>
<a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Precision</b> (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><td colspan="2"><div class="groupText"><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></td></tr>
<tr class="memitem:ae12c40324397f844d9c8c7c3a6cf49cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae12c40324397f844d9c8c7c3a6cf49cd"></a>
<a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Length</b> (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><td colspan="2"><div class="groupText"><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></td></tr>
<tr class="memitem:a48a1457d2f4379a59c29280907c7f3c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48a1457d2f4379a59c29280907c7f3c2"></a>
<a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>PrimaryKey</b> ()</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><td colspan="2"><div class="groupText"><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></td></tr>
<tr class="memitem:ade0ba64b4ff59889755800b817419b82"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade0ba64b4ff59889755800b817419b82"></a>
<a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>RemoveDefault</b> ()</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 class="anchor" id="a8502dd68c6743c7c66b2b6a02d41a4e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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#_todo000012">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 class="anchor" id="ad34607a281ef097705a81bfbdb6ce3b6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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 class="anchor" id="ad9ed2e008ee926ee50c23e664d854e8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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 class="anchor" id="a92c63c0e1872c03fcabeac19d802f6c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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 class="anchor" id="ae0ceeb41ac1427c2472a2f28778b6e97"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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 class="anchor" id="af8c64c5a8a7a93ec644d481f23d91cca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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 class="anchor" id="aab05d7d45f4cd2dadb8e0c715d87e841"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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 class="anchor" id="abeb2cbbaa01253165202574db03872f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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 class="anchor" id="ad2d1fe7273f0f5d656375e53f96ac777"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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 class="anchor" id="a67e794a08387e17ba430d6942419a2c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::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.12.0 on Mon May 18 2020 14:07:09 by Doxygen 1.8.11</small>
  <br>
  <small>Copyright © 2020 The Apache Software Foundation.</small>
</address>
</body>
</html>
