blob: dedcf1ac17885bb1f7c53664db4f9ba744f50d0e [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.6"/>
<title>Kudu C++ client API: kudu::client::KuduTable 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/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 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.6 -->
<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><a href="namespaces.html"><span>Namespaces</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)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></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"><a class="el" href="namespacekudu.html">kudu</a></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classkudu_1_1client_1_1KuduTable-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">kudu::client::KuduTable Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A representation of a table on a particular cluster.
<a href="classkudu_1_1client_1_1KuduTable.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for kudu::client::KuduTable:</div>
<div class="dyncontent">
<div class="center">
<img src="classkudu_1_1client_1_1KuduTable.png" usemap="#kudu::client::KuduTable_map" alt=""/>
<map id="kudu::client::KuduTable_map" name="kudu::client::KuduTable_map">
</map>
</div></div>
<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:aa0f8b6d63c800727c3a827945512555e"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aa0f8b6d63c800727c3a827945512555e">name</a> () const </td></tr>
<tr class="separator:aa0f8b6d63c800727c3a827945512555e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a185ff8f18b9bea6b41d6f4cf8dfa1377"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a185ff8f18b9bea6b41d6f4cf8dfa1377">id</a> () const </td></tr>
<tr class="separator:a185ff8f18b9bea6b41d6f4cf8dfa1377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4482e54a05c5b61b2bddc8c5297973fd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a4482e54a05c5b61b2bddc8c5297973fd">schema</a> () const </td></tr>
<tr class="separator:a4482e54a05c5b61b2bddc8c5297973fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c78f86c5d0fbf53437c2c9db26f92b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">NewInsert</a> ()</td></tr>
<tr class="separator:a0c78f86c5d0fbf53437c2c9db26f92b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19e92dbaeeff86c5d707b15b2a7051fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">NewUpsert</a> ()</td></tr>
<tr class="separator:a19e92dbaeeff86c5d707b15b2a7051fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e95271452d608fc2b563f7b46ddcda8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">NewUpdate</a> ()</td></tr>
<tr class="separator:a7e95271452d608fc2b563f7b46ddcda8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad873078bdbcafe015d359a65c370a89a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">NewDelete</a> ()</td></tr>
<tr class="separator:ad873078bdbcafe015d359a65c370a89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed6c3571aff35270a3e6cd66770f1cea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">NewComparisonPredicate</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">KuduPredicate::ComparisonOp</a> op, <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *value)</td></tr>
<tr class="separator:aed6c3571aff35270a3e6cd66770f1cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08836bfb79f6f91e7f235712ea271d35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a08836bfb79f6f91e7f235712ea271d35">client</a> () const </td></tr>
<tr class="separator:a08836bfb79f6f91e7f235712ea271d35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1125879ce34fa6c994a70fe1803a808"><td class="memItemLeft" align="right" valign="top">const PartitionSchema &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#af1125879ce34fa6c994a70fe1803a808">partition_schema</a> () const </td></tr>
<tr class="separator:af1125879ce34fa6c994a70fe1803a808"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a5b5a804db2a148e792148f521f04b486"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b5a804db2a148e792148f521f04b486"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>KuduClient</b></td></tr>
<tr class="separator:a5b5a804db2a148e792148f521f04b486"><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 on a particular cluster. </p>
<p>A <a class="el" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster. ">KuduTable</a> holds the current schema of the table. Any given <a class="el" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster. ">KuduTable</a> object belongs to a specific <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster. ">KuduClient</a> object.</p>
<p>Upon construction, the table is looked up in the catalog (or catalog cache), and the schema fetched for introspection.</p>
<p>This class is also a factory for write operation on the table. The provided operations are: </p>
<ul>
<li>INSERT Adds a new row. Fails if the row already exists. </li>
<li>UPSERT Adds a new row. If there's an existing row, updates it. </li>
<li>UPDATE Updates an existing row. Fails if the row does not exist. </li>
<li>DELETE Deletes an existing row. Fails if the row does not exist.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This class is thread-safe. </dd></dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a08836bfb79f6f91e7f235712ea271d35"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* kudu::client::KuduTable::client </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 <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster. ">KuduClient</a> object associated with the table. The caller should not free the returned pointer. </dd></dl>
</div>
</div>
<a class="anchor" id="a185ff8f18b9bea6b41d6f4cf8dfa1377"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string&amp; kudu::client::KuduTable::id </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the table's ID.</p>
<p>This is an internal identifier which uniquely identifies a table. If the table is deleted and recreated with the same name, the ID will distinguish the old table from the new.</p>
<dl class="section return"><dt>Returns</dt><dd>Identifier string for the table. </dd></dl>
</div>
</div>
<a class="anchor" id="aa0f8b6d63c800727c3a827945512555e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string&amp; kudu::client::KuduTable::name </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>Name of the table. </dd></dl>
</div>
</div>
<a class="anchor" id="aed6c3571aff35270a3e6cd66770f1cea"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* kudu::client::KuduTable::NewComparisonPredicate </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &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_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">KuduPredicate::ComparisonOp</a>&#160;</td>
<td class="paramname"><em>op</em>, </td>
</tr>
<tr>
<td class="paramkey"></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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new comparison predicate.</p>
<p>This method creates new instance of a comparison predicate which can be used for scanners on this table object.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of column to use for comparison. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Comparison operator to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The type of the value must correspond to the type of the column to which the predicate is to be applied. For example, if the given column is any type of integer, the <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type. ">KuduValue</a> should also be an integer, with its value in the valid range for the column type. No attempt is made to cast between floating point and integer values, or numeric and string values. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Raw pointer to instance of comparison predicate. The caller owns the result until it is passed into <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">KuduScanner::AddConjunctPredicate()</a>. The returned predicate object takes ownership over the <code>value</code> Non-NULL is returned both in success and error cases. In the case of an error (e.g. invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a <a class="el" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan. ">KuduScanner</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="ad873078bdbcafe015d359a65c370a89a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a>* kudu::client::KuduTable::NewDelete </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>New <code>DELETE</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="a0c78f86c5d0fbf53437c2c9db26f92b6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a>* kudu::client::KuduTable::NewInsert </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>New <code>INSERT</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="a7e95271452d608fc2b563f7b46ddcda8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a>* kudu::client::KuduTable::NewUpdate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>New <code>UPDATE</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="a19e92dbaeeff86c5d707b15b2a7051fc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a>* kudu::client::KuduTable::NewUpsert </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>New <code>UPSERT</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="af1125879ce34fa6c994a70fe1803a808"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const PartitionSchema&amp; kudu::client::KuduTable::partition_schema </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 partition schema for the table. </dd></dl>
</div>
</div>
<a class="anchor" id="a4482e54a05c5b61b2bddc8c5297973fd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; kudu::client::KuduTable::schema </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>Reference to the table's schema 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="client_8h_source.html">client.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Aug 22 2016 17:03:49 for Kudu C++ client API by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>