blob: 6b870ef33b311c0096c0ec487fb246d13e2b961c [file] [log] [blame]
<!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::KuduSchema 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_1KuduSchema.html">KuduSchema</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_1KuduSchema-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">kudu::client::KuduSchema Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A representation of a table's schema.
<a href="classkudu_1_1client_1_1KuduSchema.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:a41a683f3d93357fe68531bf71df39d02"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">KuduSchema</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;other)</td></tr>
<tr class="separator:a41a683f3d93357fe68531bf71df39d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f51ccf1a7e6f4a4fe4958073305dbab"><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_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">Reset</a> (const std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a3f51ccf1a7e6f4a4fe4958073305dbab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d9bc062492e472a2055841461b2a87f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3d9bc062492e472a2055841461b2a87f">Equals</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;other) const </td></tr>
<tr class="separator:a3d9bc062492e472a2055841461b2a87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe784e7c95d85391246a9b4745fed00b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#afe784e7c95d85391246a9b4745fed00b">Column</a> (size_t idx) const </td></tr>
<tr class="separator:afe784e7c95d85391246a9b4745fed00b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f9b03c0ddf7947a8c4987d2ff280de3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a7f9b03c0ddf7947a8c4987d2ff280de3">HasColumn</a> (const std::string &amp;col_name, <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> *col_schema) const </td></tr>
<tr class="separator:a7f9b03c0ddf7947a8c4987d2ff280de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9e9f590006bd7ccfa44b87dec1b3c7a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ac9e9f590006bd7ccfa44b87dec1b3c7a">num_columns</a> () const </td></tr>
<tr class="separator:ac9e9f590006bd7ccfa44b87dec1b3c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a192b707f348178b698070d3a88a4d156"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a192b707f348178b698070d3a88a4d156">GetPrimaryKeyColumnIndexes</a> (std::vector&lt; int &gt; *indexes) const </td></tr>
<tr class="separator:a192b707f348178b698070d3a88a4d156"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafaa50819a283b014ae03373e53489a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#aafaa50819a283b014ae03373e53489a1">NewRow</a> () const </td></tr>
<tr class="separator:aafaa50819a283b014ae03373e53489a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae74ef1d9e4b9f5489554f3d5e6682d3c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ae74ef1d9e4b9f5489554f3d5e6682d3c">ToString</a> () const </td></tr>
<tr class="separator:ae74ef1d9e4b9f5489554f3d5e6682d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Assign/copy the schema</div></td></tr>
<tr><td colspan="2"><div class="groupText"><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The source <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema. ">KuduSchema</a> object to use as a reference. </td></tr>
</table>
</dd>
</dl>
</div></td></tr>
<tr class="memitem:a7d8f49f184a94cee7993158baf6ae758"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d8f49f184a94cee7993158baf6ae758"></a>
<a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;other)</td></tr>
<tr class="separator:a7d8f49f184a94cee7993158baf6ae758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab146eab7c7fb9a5ea80a4466b5f68555"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab146eab7c7fb9a5ea80a4466b5f68555"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>CopyFrom</b> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;other)</td></tr>
<tr class="separator:ab146eab7c7fb9a5ea80a4466b5f68555"><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 representation of a table's schema. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a41a683f3d93357fe68531bf71df39d02"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">kudu::client::KuduSchema::KuduSchema </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema. ">KuduSchema</a> object as a copy of the other one.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The other <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema. ">KuduSchema</a> object to use as a reference. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="afe784e7c95d85391246a9b4745fed00b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> kudu::client::KuduSchema::Column </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>idx</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Column index. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Schema for the specified column. </dd></dl>
</div>
</div>
<a class="anchor" id="a3d9bc062492e472a2055841461b2a87f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool kudu::client::KuduSchema::Equals </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check whether the schema is identical to the other one.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The other <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema. ">KuduSchema</a> object to compare with. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema. ">KuduSchema</a> object is identical to the specified one. </dd></dl>
</div>
</div>
<a class="anchor" id="a192b707f348178b698070d3a88a4d156"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void kudu::client::KuduSchema::GetPrimaryKeyColumnIndexes </td>
<td>(</td>
<td class="paramtype">std::vector&lt; int &gt; *&#160;</td>
<td class="paramname"><em>indexes</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the indexes of the primary key columns within this Schema.</p>
<dl class="section attention"><dt>Attention</dt><dd>In current versions of Kudu, these will always be contiguous column indexes starting with 0. However, in future versions this assumption may not hold, so callers should not assume it is the case.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">indexes</td><td>The placeholder for the result. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a7f9b03c0ddf7947a8c4987d2ff280de3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool kudu::client::KuduSchema::HasColumn </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>col_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> *&#160;</td>
<td class="paramname"><em>col_schema</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Column name. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">col_schema</td><td>Schema for the specified column. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the specified column exists. </dd></dl>
</div>
</div>
<a class="anchor" id="aafaa50819a283b014ae03373e53489a1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>* kudu::client::KuduSchema::NewRow </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new row corresponding to this schema.</p>
<dl class="section note"><dt>Note</dt><dd>The new row refers to this <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema. ">KuduSchema</a> object, so it must be destroyed before the <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema. ">KuduSchema</a> object to avoid dangling pointers.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the newly created row. The caller takes ownership of the created row. </dd></dl>
</div>
</div>
<a class="anchor" id="ac9e9f590006bd7ccfa44b87dec1b3c7a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t kudu::client::KuduSchema::num_columns </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The number of columns in the schema. </dd></dl>
</div>
</div>
<a class="anchor" id="a3f51ccf1a7e6f4a4fe4958073305dbab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSchema::Reset </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>columns</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>key_columns</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000011">Deprecated:</a></b></dt><dd>This method will be removed soon.</dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000013">Todo:</a></b></dt><dd>Remove <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">KuduSchema::Reset()</a>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Per-column schema information. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">key_columns</td><td>Number of key columns in the schema. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a class="anchor" id="ae74ef1d9e4b9f5489554f3d5e6682d3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string kudu::client::KuduSchema::ToString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Stringify this <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema. ">KuduSchema</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>A string describing this schema. </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>