blob: fe0438beb4401e6337cd864f0cae1535624e9c20 [file] [log] [blame]
<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Kudu C++ client API: include/kudu/client/client.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<img id="MSearchSelect" src="search/search.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</div>
</li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul>
</div>
<h1>include/kudu/client/client.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00002"></a>00002 <span class="comment">// or more contributor license agreements. See the NOTICE file</span>
<a name="l00003"></a>00003 <span class="comment">// distributed with this work for additional information</span>
<a name="l00004"></a>00004 <span class="comment">// regarding copyright ownership. The ASF licenses this file</span>
<a name="l00005"></a>00005 <span class="comment">// to you under the Apache License, Version 2.0 (the</span>
<a name="l00006"></a>00006 <span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span>
<a name="l00007"></a>00007 <span class="comment">// with the License. You may obtain a copy of the License at</span>
<a name="l00008"></a>00008 <span class="comment">//</span>
<a name="l00009"></a>00009 <span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00010"></a>00010 <span class="comment">//</span>
<a name="l00011"></a>00011 <span class="comment">// Unless required by applicable law or agreed to in writing,</span>
<a name="l00012"></a>00012 <span class="comment">// software distributed under the License is distributed on an</span>
<a name="l00013"></a>00013 <span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
<a name="l00014"></a>00014 <span class="comment">// KIND, either express or implied. See the License for the</span>
<a name="l00015"></a>00015 <span class="comment">// specific language governing permissions and limitations</span>
<a name="l00016"></a>00016 <span class="comment">// under the License.</span>
<a name="l00017"></a>00017
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#ifndef KUDU_CLIENT_CLIENT_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define KUDU_CLIENT_CLIENT_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;stdint.h&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;kudu/client/resource_metrics.h&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;kudu/client/row_result.h&quot;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;kudu/client/scan_batch.h&quot;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &quot;kudu/client/scan_predicate.h&quot;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &quot;kudu/client/schema.h&quot;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &quot;<a class="code" href="shared__ptr_8h.html" title="Smart pointer typedefs for externally-faced code.">kudu/client/shared_ptr.h</a>&quot;</span>
<a name="l00038"></a>00038 <span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#include &lt;gtest/gtest_prod.h&gt;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &quot;kudu/gutil/macros.h&quot;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span>
<a name="l00042"></a>00042 <span class="preprocessor">#else</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#endif</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#include &quot;kudu/client/write_op.h&quot;</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span>
<a name="l00047"></a>00047 <span class="preprocessor">#include &quot;kudu/util/monotime.h&quot;</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include &quot;<a class="code" href="status_8h.html">kudu/util/status.h</a>&quot;</span>
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="preprocessor">#if _GLIBCXX_USE_CXX11_ABI</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#error \</span>
<a name="l00052"></a>00052 <span class="preprocessor"> &quot;Kudu will not function properly if built with gcc 5&apos;s new ABI. &quot; \</span>
<a name="l00053"></a>00053 <span class="preprocessor"> &quot;Please modify your application to set -D_GLIBCXX_USE_CXX11_ABI=0. &quot; \</span>
<a name="l00054"></a>00054 <span class="preprocessor"> &quot;For more information about the new ABI, see &quot; \</span>
<a name="l00055"></a>00055 <span class="preprocessor"> &quot;https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html.&quot;</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span>
<a name="l00058"></a>00058 <span class="keyword">namespace </span>kudu {
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">class </span>ClientStressTest_TestUniqueClientIds_Test;
<a name="l00061"></a>00061 <span class="keyword">class </span>LinkedListTester;
<a name="l00062"></a>00062 <span class="keyword">class </span>PartitionSchema;
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keyword">namespace </span>client {
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keyword">class </span>KuduLoggingCallback;
<a name="l00067"></a>00067 <span class="keyword">class </span>KuduScanToken;
<a name="l00068"></a>00068 <span class="keyword">class </span>KuduSession;
<a name="l00069"></a>00069 <span class="keyword">class </span>KuduStatusCallback;
<a name="l00070"></a>00070 <span class="keyword">class </span>KuduTable;
<a name="l00071"></a>00071 <span class="keyword">class </span>KuduTableAlterer;
<a name="l00072"></a>00072 <span class="keyword">class </span>KuduTableCreator;
<a name="l00073"></a>00073 <span class="keyword">class </span>KuduTablet;
<a name="l00074"></a>00074 <span class="keyword">class </span>KuduTabletServer;
<a name="l00075"></a>00075 <span class="keyword">class </span>KuduValue;
<a name="l00076"></a>00076 <span class="keyword">class </span>KuduWriteOperation;
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keyword">namespace </span>internal {
<a name="l00079"></a>00079 <span class="keyword">class </span>Batcher;
<a name="l00080"></a>00080 <span class="keyword">class </span>GetTableSchemaRpc;
<a name="l00081"></a>00081 <span class="keyword">class </span>LookupRpc;
<a name="l00082"></a>00082 <span class="keyword">class </span>MetaCache;
<a name="l00083"></a>00083 <span class="keyword">class </span>RemoteTablet;
<a name="l00084"></a>00084 <span class="keyword">class </span>RemoteTabletServer;
<a name="l00085"></a>00085 <span class="keyword">class </span>WriteRpc;
<a name="l00086"></a>00086 } <span class="comment">// namespace internal</span>
<a name="l00087"></a>00087
<a name="l00100"></a>00100 <span class="keywordtype">void</span> KUDU_EXPORT InstallLoggingCallback(KuduLoggingCallback* cb);
<a name="l00101"></a>00101
<a name="l00108"></a>00108 <span class="keywordtype">void</span> KUDU_EXPORT UninstallLoggingCallback();
<a name="l00109"></a>00109
<a name="l00125"></a>00125 <span class="keywordtype">void</span> KUDU_EXPORT SetVerboseLogLevel(<span class="keywordtype">int</span> level);
<a name="l00126"></a>00126
<a name="l00136"></a>00136 Status KUDU_EXPORT SetInternalSignalNumber(<span class="keywordtype">int</span> signum);
<a name="l00137"></a>00137
<a name="l00140"></a>00140 std::string KUDU_EXPORT GetShortVersionString();
<a name="l00141"></a>00141
<a name="l00144"></a>00144 std::string KUDU_EXPORT GetAllVersionInfo();
<a name="l00145"></a>00145
<a name="l00150"></a><a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">00150</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a> {
<a name="l00151"></a>00151 <span class="keyword">public</span>:
<a name="l00152"></a>00152 <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a>();
<a name="l00153"></a>00153 ~<a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a>();
<a name="l00154"></a>00154
<a name="l00158"></a>00158 <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a>&amp; clear_master_server_addrs();
<a name="l00159"></a>00159
<a name="l00165"></a>00165 <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a>&amp; master_server_addrs(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; addrs);
<a name="l00166"></a>00166
<a name="l00174"></a>00174 <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a>&amp; add_master_server_addr(<span class="keyword">const</span> std::string&amp; addr);
<a name="l00175"></a>00175
<a name="l00185"></a>00185 <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a>&amp; default_admin_operation_timeout(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a>&amp; timeout);
<a name="l00186"></a>00186
<a name="l00194"></a>00194 <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a>&amp; default_rpc_timeout(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a>&amp; timeout);
<a name="l00195"></a>00195
<a name="l00206"></a>00206 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> Build(sp::shared_ptr&lt;KuduClient&gt;* client);
<a name="l00207"></a>00207
<a name="l00208"></a>00208 <span class="keyword">private</span>:
<a name="l00209"></a>00209 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l00210"></a>00210
<a name="l00211"></a>00211 <span class="comment">// Owned.</span>
<a name="l00212"></a>00212 Data* data_;
<a name="l00213"></a>00213
<a name="l00214"></a>00214 DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a>);
<a name="l00215"></a>00215 };
<a name="l00216"></a>00216
<a name="l00243"></a><a class="code" href="classkudu_1_1client_1_1KuduClient.html">00243</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> : <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduClient&gt; {
<a name="l00244"></a>00244 <span class="keyword">public</span>:
<a name="l00245"></a>00245 ~<a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>();
<a name="l00246"></a>00246
<a name="l00251"></a>00251 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>* NewTableCreator();
<a name="l00252"></a>00252
<a name="l00261"></a>00261 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> IsCreateTableInProgress(<span class="keyword">const</span> std::string&amp; table_name,
<a name="l00262"></a>00262 <span class="keywordtype">bool</span> *create_in_progress);
<a name="l00263"></a>00263
<a name="l00269"></a>00269 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> DeleteTable(<span class="keyword">const</span> std::string&amp; table_name);
<a name="l00270"></a>00270
<a name="l00277"></a>00277 <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>* NewTableAlterer(<span class="keyword">const</span> std::string&amp; table_name);
<a name="l00278"></a>00278
<a name="l00287"></a>00287 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> IsAlterTableInProgress(<span class="keyword">const</span> std::string&amp; table_name,
<a name="l00288"></a>00288 <span class="keywordtype">bool</span> *alter_in_progress);
<a name="l00296"></a>00296 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> GetTableSchema(<span class="keyword">const</span> std::string&amp; table_name,
<a name="l00297"></a>00297 <a class="code" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&amp;#39;s schema.">KuduSchema</a>* schema);
<a name="l00298"></a>00298
<a name="l00305"></a>00305 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> ListTabletServers(std::vector&lt;KuduTabletServer*&gt;* tablet_servers);
<a name="l00306"></a>00306
<a name="l00314"></a>00314 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> ListTables(std::vector&lt;std::string&gt;* tables,
<a name="l00315"></a>00315 <span class="keyword">const</span> std::string&amp; filter = <span class="stringliteral">&quot;&quot;</span>);
<a name="l00316"></a>00316
<a name="l00324"></a>00324 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> TableExists(<span class="keyword">const</span> std::string&amp; table_name, <span class="keywordtype">bool</span>* exists);
<a name="l00325"></a>00325
<a name="l00339"></a>00339 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> OpenTable(<span class="keyword">const</span> std::string&amp; table_name,
<a name="l00340"></a>00340 sp::shared_ptr&lt;KuduTable&gt;* table);
<a name="l00341"></a>00341
<a name="l00347"></a>00347 sp::shared_ptr&lt;KuduSession&gt; NewSession();
<a name="l00348"></a>00348
<a name="l00350"></a>00350
<a name="l00363"></a>00363 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> KUDU_NO_EXPORT GetTablet(<span class="keyword">const</span> std::string&amp; tablet_id,
<a name="l00364"></a>00364 <a class="code" href="classkudu_1_1client_1_1KuduTablet.html" title="In-memory representation of a remote tablet.">KuduTablet</a>** tablet);
<a name="l00365"></a>00365
<a name="l00367"></a>00367
<a name="l00369"></a><a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">00369</a> <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">ReplicaSelection</a> {
<a name="l00370"></a><a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">00370</a> LEADER_ONLY,
<a name="l00371"></a>00371
<a name="l00372"></a><a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8">00372</a> CLOSEST_REPLICA,
<a name="l00373"></a>00373
<a name="l00374"></a>00374
<a name="l00375"></a><a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f">00375</a> FIRST_REPLICA
<a name="l00376"></a>00376 };
<a name="l00377"></a>00377
<a name="l00380"></a>00380 <span class="keywordtype">bool</span> IsMultiMaster() <span class="keyword">const</span>;
<a name="l00381"></a>00381
<a name="l00383"></a>00383 <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a>&amp; default_admin_operation_timeout() <span class="keyword">const</span>;
<a name="l00384"></a>00384
<a name="l00386"></a>00386 <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a>&amp; default_rpc_timeout() <span class="keyword">const</span>;
<a name="l00387"></a>00387
<a name="l00390"></a><a class="code" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">00390</a> <span class="keyword">static</span> <span class="keyword">const</span> uint64_t kNoTimestamp;
<a name="l00391"></a>00391
<a name="l00431"></a>00431 uint64_t GetLatestObservedTimestamp() <span class="keyword">const</span>;
<a name="l00432"></a>00432
<a name="l00447"></a>00447 <span class="keywordtype">void</span> SetLatestObservedTimestamp(uint64_t ht_timestamp);
<a name="l00448"></a>00448
<a name="l00449"></a>00449 <span class="keyword">private</span>:
<a name="l00450"></a>00450 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l00451"></a>00451
<a name="l00452"></a>00452 <span class="keyword">friend</span> <span class="keyword">class </span>internal::Batcher;
<a name="l00453"></a>00453 <span class="keyword">friend</span> <span class="keyword">class </span>internal::GetTableSchemaRpc;
<a name="l00454"></a>00454 <span class="keyword">friend</span> <span class="keyword">class </span>internal::LookupRpc;
<a name="l00455"></a>00455 <span class="keyword">friend</span> <span class="keyword">class </span>internal::MetaCache;
<a name="l00456"></a>00456 <span class="keyword">friend</span> <span class="keyword">class </span>internal::RemoteTablet;
<a name="l00457"></a>00457 <span class="keyword">friend</span> <span class="keyword">class </span>internal::RemoteTabletServer;
<a name="l00458"></a>00458 <span class="keyword">friend</span> <span class="keyword">class </span>internal::WriteRpc;
<a name="l00459"></a>00459 <span class="keyword">friend</span> <span class="keyword">class </span>ClientTest;
<a name="l00460"></a>00460 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &amp;quot;factory&amp;quot; for KuduClient objects.">KuduClientBuilder</a>;
<a name="l00461"></a>00461 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>;
<a name="l00462"></a>00462 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a>;
<a name="l00463"></a>00463 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a>;
<a name="l00464"></a>00464 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a>;
<a name="l00465"></a>00465 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>;
<a name="l00466"></a>00466 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>;
<a name="l00467"></a>00467
<a name="l00468"></a>00468 FRIEND_TEST(kudu::ClientStressTest, TestUniqueClientIds);
<a name="l00469"></a>00469 FRIEND_TEST(ClientTest, TestGetTabletServerBlacklist);
<a name="l00470"></a>00470 FRIEND_TEST(ClientTest, TestMasterDown);
<a name="l00471"></a>00471 FRIEND_TEST(ClientTest, TestMasterLookupPermits);
<a name="l00472"></a>00472 FRIEND_TEST(ClientTest, TestMetaCacheExpiry);
<a name="l00473"></a>00473 FRIEND_TEST(ClientTest, TestNonCoveringRangePartitions);
<a name="l00474"></a>00474 FRIEND_TEST(ClientTest, TestReplicatedTabletWritesWithLeaderElection);
<a name="l00475"></a>00475 FRIEND_TEST(ClientTest, TestScanFaultTolerance);
<a name="l00476"></a>00476 FRIEND_TEST(ClientTest, TestScanTimeout);
<a name="l00477"></a>00477 FRIEND_TEST(ClientTest, TestWriteWithDeadMaster);
<a name="l00478"></a>00478 FRIEND_TEST(MasterFailoverTest, TestPauseAfterCreateTableIssued);
<a name="l00479"></a>00479
<a name="l00480"></a>00480 <a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>();
<a name="l00481"></a>00481
<a name="l00482"></a>00482 <span class="comment">// Owned.</span>
<a name="l00483"></a>00483 Data* data_;
<a name="l00484"></a>00484
<a name="l00485"></a>00485 DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>);
<a name="l00486"></a>00486 };
<a name="l00487"></a>00487
<a name="l00489"></a><a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">00489</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html" title="In-memory representation of a remote tablet server.">KuduTabletServer</a> {
<a name="l00490"></a>00490 <span class="keyword">public</span>:
<a name="l00491"></a>00491 ~<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html" title="In-memory representation of a remote tablet server.">KuduTabletServer</a>();
<a name="l00492"></a>00492
<a name="l00495"></a>00495 <span class="keyword">const</span> std::string&amp; uuid() <span class="keyword">const</span>;
<a name="l00496"></a>00496
<a name="l00499"></a>00499 <span class="keyword">const</span> std::string&amp; hostname() <span class="keyword">const</span>;
<a name="l00500"></a>00500
<a name="l00503"></a>00503 uint16_t port() <span class="keyword">const</span>;
<a name="l00504"></a>00504
<a name="l00505"></a>00505 <span class="keyword">private</span>:
<a name="l00506"></a>00506 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l00507"></a>00507
<a name="l00508"></a>00508 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>;
<a name="l00509"></a>00509 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>;
<a name="l00510"></a>00510 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a>;
<a name="l00511"></a>00511
<a name="l00512"></a>00512 <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html" title="In-memory representation of a remote tablet server.">KuduTabletServer</a>();
<a name="l00513"></a>00513
<a name="l00514"></a>00514 <span class="comment">// Owned.</span>
<a name="l00515"></a>00515 Data* data_;
<a name="l00516"></a>00516
<a name="l00517"></a>00517 DISALLOW_COPY_AND_ASSIGN(KuduTabletServer);
<a name="l00518"></a>00518 };
<a name="l00519"></a>00519
<a name="l00521"></a><a class="code" href="classkudu_1_1client_1_1KuduReplica.html">00521</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduReplica.html" title="In-memory representation of a remote tablet&amp;#39;s replica.">KuduReplica</a> {
<a name="l00522"></a>00522 <span class="keyword">public</span>:
<a name="l00523"></a>00523 ~<a class="code" href="classkudu_1_1client_1_1KuduReplica.html" title="In-memory representation of a remote tablet&amp;#39;s replica.">KuduReplica</a>();
<a name="l00524"></a>00524
<a name="l00529"></a>00529 <span class="keywordtype">bool</span> is_leader() <span class="keyword">const</span>;
<a name="l00530"></a>00530
<a name="l00532"></a>00532 <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html" title="In-memory representation of a remote tablet server.">KuduTabletServer</a>&amp; ts() <span class="keyword">const</span>;
<a name="l00533"></a>00533
<a name="l00534"></a>00534 <span class="keyword">private</span>:
<a name="l00535"></a>00535 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>;
<a name="l00536"></a>00536 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a>;
<a name="l00537"></a>00537
<a name="l00538"></a>00538 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l00539"></a>00539
<a name="l00540"></a>00540 <a class="code" href="classkudu_1_1client_1_1KuduReplica.html" title="In-memory representation of a remote tablet&amp;#39;s replica.">KuduReplica</a>();
<a name="l00541"></a>00541
<a name="l00542"></a>00542 <span class="comment">// Owned.</span>
<a name="l00543"></a>00543 Data* data_;
<a name="l00544"></a>00544
<a name="l00545"></a>00545 DISALLOW_COPY_AND_ASSIGN(KuduReplica);
<a name="l00546"></a>00546 };
<a name="l00547"></a>00547
<a name="l00549"></a><a class="code" href="classkudu_1_1client_1_1KuduTablet.html">00549</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTablet.html" title="In-memory representation of a remote tablet.">KuduTablet</a> {
<a name="l00550"></a>00550 <span class="keyword">public</span>:
<a name="l00551"></a>00551 ~<a class="code" href="classkudu_1_1client_1_1KuduTablet.html" title="In-memory representation of a remote tablet.">KuduTablet</a>();
<a name="l00552"></a>00552
<a name="l00555"></a>00555 <span class="keyword">const</span> std::string&amp; id() <span class="keyword">const</span>;
<a name="l00556"></a>00556
<a name="l00562"></a>00562 <span class="keyword">const</span> std::vector&lt;const KuduReplica*&gt;&amp; replicas() <span class="keyword">const</span>;
<a name="l00563"></a>00563
<a name="l00564"></a>00564 <span class="keyword">private</span>:
<a name="l00565"></a>00565 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>;
<a name="l00566"></a>00566 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a>;
<a name="l00567"></a>00567
<a name="l00568"></a>00568 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l00569"></a>00569
<a name="l00570"></a>00570 <a class="code" href="classkudu_1_1client_1_1KuduTablet.html" title="In-memory representation of a remote tablet.">KuduTablet</a>();
<a name="l00571"></a>00571
<a name="l00572"></a>00572 <span class="comment">// Owned.</span>
<a name="l00573"></a>00573 Data* data_;
<a name="l00574"></a>00574
<a name="l00575"></a>00575 DISALLOW_COPY_AND_ASSIGN(KuduTablet);
<a name="l00576"></a>00576 };
<a name="l00577"></a>00577
<a name="l00579"></a><a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">00579</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> {
<a name="l00580"></a>00580 <span class="keyword">public</span>:
<a name="l00581"></a>00581 ~<a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>();
<a name="l00582"></a>00582
<a name="l00594"></a>00594 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; table_name(<span class="keyword">const</span> std::string&amp; name);
<a name="l00595"></a>00595
<a name="l00606"></a>00606 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; schema(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&amp;#39;s schema.">KuduSchema</a>* schema);
<a name="l00607"></a>00607
<a name="l00624"></a>00624 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; add_hash_partitions(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns,
<a name="l00625"></a>00625 int32_t num_buckets);
<a name="l00626"></a>00626
<a name="l00642"></a>00642 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; add_hash_partitions(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns,
<a name="l00643"></a>00643 int32_t num_buckets, int32_t seed);
<a name="l00644"></a>00644
<a name="l00657"></a>00657 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; set_range_partition_columns(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns);
<a name="l00658"></a>00658
<a name="l00660"></a><a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">00660</a> <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b" title="Range partition bound type.">RangePartitionBound</a> {
<a name="l00661"></a><a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">00661</a> EXCLUSIVE_BOUND,
<a name="l00662"></a><a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">00662</a> INCLUSIVE_BOUND,
<a name="l00663"></a>00663 };
<a name="l00664"></a>00664
<a name="l00693"></a>00693 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; add_range_partition(<a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>* lower_bound,
<a name="l00694"></a>00694 <a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>* upper_bound,
<a name="l00695"></a>00695 RangePartitionBound lower_bound_type = INCLUSIVE_BOUND,
<a name="l00696"></a>00696 RangePartitionBound upper_bound_type = EXCLUSIVE_BOUND);
<a name="l00697"></a>00697
<a name="l00706"></a>00706 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; add_range_partition_split(<a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>* split_row);
<a name="l00707"></a>00707
<a name="l00713"></a>00713 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; split_rows(<span class="keyword">const</span> std::vector&lt;const KuduPartialRow*&gt;&amp; split_rows);
<a name="l00714"></a>00714
<a name="l00724"></a>00724 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; num_replicas(<span class="keywordtype">int</span> n_replicas);
<a name="l00725"></a>00725
<a name="l00735"></a>00735 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; timeout(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a>&amp; timeout);
<a name="l00736"></a>00736
<a name="l00744"></a>00744 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>&amp; wait(<span class="keywordtype">bool</span> wait);
<a name="l00745"></a>00745
<a name="l00759"></a>00759 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> Create();
<a name="l00760"></a>00760
<a name="l00761"></a>00761 <span class="keyword">private</span>:
<a name="l00762"></a>00762 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l00763"></a>00763
<a name="l00764"></a>00764 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>;
<a name="l00765"></a>00765
<a name="l00766"></a>00766 <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>* client);
<a name="l00767"></a>00767
<a name="l00768"></a>00768 <span class="comment">// Owned.</span>
<a name="l00769"></a>00769 Data* data_;
<a name="l00770"></a>00770
<a name="l00771"></a>00771 DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a>);
<a name="l00772"></a>00772 };
<a name="l00773"></a>00773
<a name="l00794"></a><a class="code" href="classkudu_1_1client_1_1KuduTable.html">00794</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a> : <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduTable&gt; {
<a name="l00795"></a>00795 <span class="keyword">public</span>:
<a name="l00796"></a>00796 ~<a class="code" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a>();
<a name="l00797"></a>00797
<a name="l00799"></a>00799 <span class="keyword">const</span> std::string&amp; name() <span class="keyword">const</span>;
<a name="l00800"></a>00800
<a name="l00808"></a>00808 <span class="keyword">const</span> std::string&amp; id() <span class="keyword">const</span>;
<a name="l00809"></a>00809
<a name="l00811"></a>00811 <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&amp;#39;s schema.">KuduSchema</a>&amp; schema() <span class="keyword">const</span>;
<a name="l00812"></a>00812
<a name="l00814"></a>00814 <span class="keywordtype">int</span> num_replicas() <span class="keyword">const</span>;
<a name="l00815"></a>00815
<a name="l00819"></a>00819 <a class="code" href="classkudu_1_1client_1_1KuduInsert.html" title="A single row insert to be sent to the cluster.">KuduInsert</a>* NewInsert();
<a name="l00820"></a>00820
<a name="l00824"></a>00824 <a class="code" href="classkudu_1_1client_1_1KuduUpsert.html" title="A single row upsert to be sent to the cluster.">KuduUpsert</a>* NewUpsert();
<a name="l00825"></a>00825
<a name="l00829"></a>00829 <a class="code" href="classkudu_1_1client_1_1KuduUpdate.html" title="A single row update to be sent to the cluster.">KuduUpdate</a>* NewUpdate();
<a name="l00830"></a>00830
<a name="l00834"></a>00834 <a class="code" href="classkudu_1_1client_1_1KuduDelete.html" title="A single row delete to be sent to the cluster.">KuduDelete</a>* NewDelete();
<a name="l00835"></a>00835
<a name="l00859"></a>00859 <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html" title="A representation of comparison predicate for Kudu queries.">KuduPredicate</a>* NewComparisonPredicate(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a>&amp; col_name,
<a name="l00860"></a>00860 <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4" title="Supported comparison operators.">KuduPredicate::ComparisonOp</a> op,
<a name="l00861"></a>00861 <a class="code" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a>* value);
<a name="l00862"></a>00862
<a name="l00865"></a>00865 <a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>* client() <span class="keyword">const</span>;
<a name="l00866"></a>00866
<a name="l00868"></a>00868 <span class="keyword">const</span> PartitionSchema&amp; partition_schema() <span class="keyword">const</span>;
<a name="l00869"></a>00869
<a name="l00870"></a>00870 <span class="keyword">private</span>:
<a name="l00871"></a>00871 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l00872"></a>00872
<a name="l00873"></a>00873 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>;
<a name="l00874"></a>00874
<a name="l00875"></a>00875 <a class="code" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a>(<span class="keyword">const</span> sp::shared_ptr&lt;KuduClient&gt;&amp; client,
<a name="l00876"></a>00876 <span class="keyword">const</span> std::string&amp; name,
<a name="l00877"></a>00877 <span class="keyword">const</span> std::string&amp; <span class="keywordtype">id</span>,
<a name="l00878"></a>00878 <span class="keywordtype">int</span> num_replicas,
<a name="l00879"></a>00879 <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&amp;#39;s schema.">KuduSchema</a>&amp; schema,
<a name="l00880"></a>00880 <span class="keyword">const</span> PartitionSchema&amp; partition_schema);
<a name="l00881"></a>00881
<a name="l00882"></a>00882 <span class="comment">// Owned.</span>
<a name="l00883"></a>00883 Data* data_;
<a name="l00884"></a>00884
<a name="l00885"></a>00885 DISALLOW_COPY_AND_ASSIGN(KuduTable);
<a name="l00886"></a>00886 };
<a name="l00887"></a>00887
<a name="l00899"></a><a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">00899</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a> {
<a name="l00900"></a>00900 <span class="keyword">public</span>:
<a name="l00901"></a>00901 ~<a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>();
<a name="l00902"></a>00902
<a name="l00908"></a>00908 <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>* RenameTo(<span class="keyword">const</span> std::string&amp; new_name);
<a name="l00909"></a>00909
<a name="l00919"></a>00919 <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html" title="Builder API for specifying or altering a column within a table schema.">KuduColumnSpec</a>* AddColumn(<span class="keyword">const</span> std::string&amp; name);
<a name="l00920"></a>00920
<a name="l00929"></a>00929 <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html" title="Builder API for specifying or altering a column within a table schema.">KuduColumnSpec</a>* AlterColumn(<span class="keyword">const</span> std::string&amp; name);
<a name="l00930"></a>00930
<a name="l00938"></a>00938 <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>* DropColumn(<span class="keyword">const</span> std::string&amp; name);
<a name="l00939"></a>00939
<a name="l00971"></a>00971 <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>* AddRangePartition(
<a name="l00972"></a>00972 <a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>* lower_bound,
<a name="l00973"></a>00973 <a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>* upper_bound,
<a name="l00974"></a>00974 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b" title="Range partition bound type.">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950" title="An inclusive bound.">KuduTableCreator::INCLUSIVE_BOUND</a>,
<a name="l00975"></a>00975 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b" title="Range partition bound type.">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601" title="An exclusive bound.">KuduTableCreator::EXCLUSIVE_BOUND</a>);
<a name="l00976"></a>00976
<a name="l01004"></a>01004 <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>* DropRangePartition(
<a name="l01005"></a>01005 <a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>* lower_bound,
<a name="l01006"></a>01006 <a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>* upper_bound,
<a name="l01007"></a>01007 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b" title="Range partition bound type.">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950" title="An inclusive bound.">KuduTableCreator::INCLUSIVE_BOUND</a>,
<a name="l01008"></a>01008 <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b" title="Range partition bound type.">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601" title="An exclusive bound.">KuduTableCreator::EXCLUSIVE_BOUND</a>);
<a name="l01009"></a>01009
<a name="l01019"></a>01019 <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>* timeout(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a>&amp; timeout);
<a name="l01020"></a>01020
<a name="l01032"></a>01032 <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>* wait(<span class="keywordtype">bool</span> wait);
<a name="l01033"></a>01033
<a name="l01038"></a>01038 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> Alter();
<a name="l01039"></a>01039
<a name="l01040"></a>01040 <span class="keyword">private</span>:
<a name="l01041"></a>01041 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l01042"></a>01042 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>;
<a name="l01043"></a>01043
<a name="l01044"></a>01044 <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>* client,
<a name="l01045"></a>01045 <span class="keyword">const</span> std::string&amp; name);
<a name="l01046"></a>01046
<a name="l01047"></a>01047 <span class="comment">// Owned.</span>
<a name="l01048"></a>01048 Data* data_;
<a name="l01049"></a>01049
<a name="l01050"></a>01050 DISALLOW_COPY_AND_ASSIGN(KuduTableAlterer);
<a name="l01051"></a>01051 };
<a name="l01052"></a>01052
<a name="l01058"></a><a class="code" href="classkudu_1_1client_1_1KuduError.html">01058</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduError.html" title="This class represents an error which occurred in a write operation.">KuduError</a> {
<a name="l01059"></a>01059 <span class="keyword">public</span>:
<a name="l01060"></a>01060 ~<a class="code" href="classkudu_1_1client_1_1KuduError.html" title="This class represents an error which occurred in a write operation.">KuduError</a>();
<a name="l01061"></a>01061
<a name="l01063"></a>01063 <span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a>&amp; status() <span class="keyword">const</span>;
<a name="l01064"></a>01064
<a name="l01066"></a>01066 <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table.">KuduWriteOperation</a>&amp; failed_op() <span class="keyword">const</span>;
<a name="l01067"></a>01067
<a name="l01075"></a>01075 <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table.">KuduWriteOperation</a>* release_failed_op();
<a name="l01076"></a>01076
<a name="l01087"></a>01087 <span class="keywordtype">bool</span> was_possibly_successful() <span class="keyword">const</span>;
<a name="l01088"></a>01088
<a name="l01089"></a>01089 <span class="keyword">private</span>:
<a name="l01090"></a>01090 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l01091"></a>01091
<a name="l01092"></a>01092 <span class="keyword">friend</span> <span class="keyword">class </span>internal::Batcher;
<a name="l01093"></a>01093 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a>;
<a name="l01094"></a>01094
<a name="l01095"></a>01095 <a class="code" href="classkudu_1_1client_1_1KuduError.html" title="This class represents an error which occurred in a write operation.">KuduError</a>(<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table.">KuduWriteOperation</a>* failed_op, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a>&amp; error);
<a name="l01096"></a>01096
<a name="l01097"></a>01097 <span class="comment">// Owned.</span>
<a name="l01098"></a>01098 Data* data_;
<a name="l01099"></a>01099
<a name="l01100"></a>01100 DISALLOW_COPY_AND_ASSIGN(KuduError);
<a name="l01101"></a>01101 };
<a name="l01102"></a>01102
<a name="l01103"></a>01103
<a name="l01162"></a><a class="code" href="classkudu_1_1client_1_1KuduSession.html">01162</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> : <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduSession&gt; {
<a name="l01163"></a>01163 <span class="keyword">public</span>:
<a name="l01164"></a>01164 ~<a class="code" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a>();
<a name="l01165"></a>01165
<a name="l01167"></a><a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">01167</a> <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19" title="Modes of flush operations.">FlushMode</a> {
<a name="l01172"></a><a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">01172</a> AUTO_FLUSH_SYNC,
<a name="l01173"></a>01173
<a name="l01192"></a><a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">01192</a> AUTO_FLUSH_BACKGROUND,
<a name="l01193"></a>01193
<a name="l01197"></a><a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a">01197</a> MANUAL_FLUSH
<a name="l01198"></a>01198 };
<a name="l01199"></a>01199
<a name="l01208"></a>01208 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetFlushMode(FlushMode m) WARN_UNUSED_RESULT;
<a name="l01209"></a>01209
<a name="l01211"></a><a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">01211</a> <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22" title="The possible external consistency modes on which Kudu operates.">ExternalConsistencyMode</a> {
<a name="l01230"></a><a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">01230</a> CLIENT_PROPAGATED,
<a name="l01231"></a>01231
<a name="l01246"></a><a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9">01246</a> COMMIT_WAIT
<a name="l01247"></a>01247 };
<a name="l01248"></a>01248
<a name="l01254"></a>01254 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetExternalConsistencyMode(ExternalConsistencyMode m)
<a name="l01255"></a>01255 WARN_UNUSED_RESULT;
<a name="l01256"></a>01256
<a name="l01274"></a>01274 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetMutationBufferSpace(<span class="keywordtype">size_t</span> size_bytes) WARN_UNUSED_RESULT;
<a name="l01275"></a>01275
<a name="l01299"></a>01299 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetMutationBufferFlushWatermark(<span class="keywordtype">double</span> watermark_pct)
<a name="l01300"></a>01300 WARN_UNUSED_RESULT;
<a name="l01301"></a>01301
<a name="l01323"></a>01323 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetMutationBufferFlushInterval(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> millis) WARN_UNUSED_RESULT;
<a name="l01324"></a>01324
<a name="l01349"></a>01349 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetMutationBufferMaxNum(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_num) WARN_UNUSED_RESULT;
<a name="l01350"></a>01350
<a name="l01356"></a>01356 <span class="keywordtype">void</span> SetTimeoutMillis(<span class="keywordtype">int</span> millis);
<a name="l01357"></a>01357
<a name="l01361"></a>01361
<a name="l01385"></a>01385 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> Apply(<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table.">KuduWriteOperation</a>* write_op) WARN_UNUSED_RESULT;
<a name="l01386"></a>01386
<a name="l01401"></a>01401 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> Flush() WARN_UNUSED_RESULT;
<a name="l01402"></a>01402
<a name="l01443"></a>01443 <span class="keywordtype">void</span> FlushAsync(<a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html" title="The interface for all status callbacks.">KuduStatusCallback</a>* cb);
<a name="l01444"></a>01444
<a name="l01447"></a>01447 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> Close() WARN_UNUSED_RESULT;
<a name="l01448"></a>01448
<a name="l01457"></a>01457 <span class="keywordtype">bool</span> HasPendingOperations() const;
<a name="l01458"></a>01458
<a name="l01470"></a>01470 <span class="keywordtype">int</span> CountBufferedOperations() const;
<a name="l01471"></a>01471
<a name="l01478"></a>01478 <span class="keywordtype">int</span> CountPendingErrors() const;
<a name="l01479"></a>01479
<a name="l01490"></a>01490 <span class="keywordtype">void</span> GetPendingErrors(std::vector&lt;<a class="code" href="classkudu_1_1client_1_1KuduError.html" title="This class represents an error which occurred in a write operation.">KuduError</a>*&gt;* errors, <span class="keywordtype">bool</span>* overflowed);
<a name="l01491"></a>01491
<a name="l01493"></a>01493 <a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>* client() const;
<a name="l01494"></a>01494
<a name="l01495"></a>01495 private:
<a name="l01496"></a>01496 class KUDU_NO_EXPORT Data;
<a name="l01497"></a>01497
<a name="l01498"></a>01498 friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>;
<a name="l01499"></a>01499 friend class internal::Batcher;
<a name="l01500"></a>01500 friend class ClientTest;
<a name="l01501"></a>01501 FRIEND_TEST(ClientTest, TestAutoFlushBackgroundApplyBlocks);
<a name="l01502"></a>01502
<a name="l01503"></a>01503 explicit <a class="code" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a>(const sp::shared_ptr&lt;KuduClient&gt;&amp; client);
<a name="l01504"></a>01504
<a name="l01505"></a>01505 <span class="comment">// Owned.</span>
<a name="l01506"></a>01506 Data* data_;
<a name="l01507"></a>01507
<a name="l01508"></a>01508 DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a>);
<a name="l01509"></a>01509 };
<a name="l01510"></a>01510
<a name="l01511"></a>01511
<a name="l01516"></a><a class="code" href="classkudu_1_1client_1_1KuduScanner.html">01516</a> class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a> {
<a name="l01517"></a>01517 <span class="keyword">public</span>:
<a name="l01519"></a><a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">01519</a> <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348" title="The read modes for scanners.">ReadMode</a> {
<a name="l01527"></a><a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">01527</a> READ_LATEST,
<a name="l01528"></a>01528
<a name="l01548"></a><a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">01548</a> READ_AT_SNAPSHOT
<a name="l01549"></a>01549 };
<a name="l01550"></a>01550
<a name="l01554"></a><a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">01554</a> <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> {
<a name="l01560"></a><a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">01560</a> UNORDERED,
<a name="l01561"></a>01561
<a name="l01566"></a><a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a">01566</a> ORDERED
<a name="l01567"></a>01567 };
<a name="l01568"></a>01568
<a name="l01572"></a>01572 <span class="keyword">enum</span> { kScanTimeoutMillis = 30000 };
<a name="l01573"></a>01573
<a name="l01579"></a>01579 <span class="keyword">explicit</span> KuduScanner(KuduTable* table);
<a name="l01580"></a>01580 ~KuduScanner();
<a name="l01581"></a>01581
<a name="l01591"></a>01591 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetProjectedColumnNames(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)
<a name="l01592"></a>01592 WARN_UNUSED_RESULT;
<a name="l01593"></a>01593
<a name="l01603"></a>01603 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetProjectedColumnIndexes(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; col_indexes)
<a name="l01604"></a>01604 WARN_UNUSED_RESULT;
<a name="l01605"></a>01605
<a name="l01611"></a>01611 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetProjectedColumns(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)
<a name="l01612"></a>01612 WARN_UNUSED_RESULT;
<a name="l01613"></a>01613
<a name="l01622"></a>01622 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddConjunctPredicate(KuduPredicate* pred) WARN_UNUSED_RESULT;
<a name="l01623"></a>01623
<a name="l01632"></a>01632 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddLowerBound(<span class="keyword">const</span> <a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>&amp; key);
<a name="l01633"></a>01633
<a name="l01641"></a>01641 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddLowerBoundRaw(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a>&amp; key);
<a name="l01642"></a>01642
<a name="l01651"></a>01651 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddExclusiveUpperBound(<span class="keyword">const</span> <a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>&amp; key);
<a name="l01652"></a>01652
<a name="l01660"></a>01660 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddExclusiveUpperBoundRaw(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a>&amp; key);
<a name="l01661"></a>01661
<a name="l01670"></a>01670 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddLowerBoundPartitionKeyRaw(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a>&amp; partition_key);
<a name="l01671"></a>01671
<a name="l01680"></a>01680 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddExclusiveUpperBoundPartitionKeyRaw(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a>&amp; partition_key);
<a name="l01681"></a>01681
<a name="l01688"></a>01688 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetCacheBlocks(<span class="keywordtype">bool</span> cache_blocks);
<a name="l01689"></a>01689
<a name="l01691"></a>01691 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> Open();
<a name="l01692"></a>01692
<a name="l01708"></a>01708 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> KeepAlive();
<a name="l01709"></a>01709
<a name="l01718"></a>01718 <span class="keywordtype">void</span> Close();
<a name="l01719"></a>01719
<a name="l01728"></a>01728 <span class="keywordtype">bool</span> HasMoreRows() <span class="keyword">const</span>;
<a name="l01729"></a>01729
<a name="l01741"></a>01741 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> NextBatch(std::vector&lt;KuduRowResult&gt;* rows);
<a name="l01742"></a>01742
<a name="l01751"></a>01751 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> NextBatch(KuduScanBatch* batch);
<a name="l01752"></a>01752
<a name="l01761"></a>01761 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> GetCurrentServer(KuduTabletServer** server);
<a name="l01762"></a>01762
<a name="l01764"></a>01764 <span class="keyword">const</span> ResourceMetrics&amp; GetResourceMetrics() <span class="keyword">const</span>;
<a name="l01765"></a>01765
<a name="l01772"></a>01772 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetBatchSizeBytes(uint32_t batch_size);
<a name="l01773"></a>01773
<a name="l01781"></a>01781 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetSelection(<a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection)
<a name="l01782"></a>01782 WARN_UNUSED_RESULT;
<a name="l01783"></a>01783
<a name="l01789"></a>01789 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetReadMode(ReadMode read_mode) WARN_UNUSED_RESULT;
<a name="l01790"></a>01790
<a name="l01796"></a>01796 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetOrderMode(OrderMode order_mode) WARN_UNUSED_RESULT;
<a name="l01797"></a>01797
<a name="l01810"></a>01810 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetFaultTolerant() WARN_UNUSED_RESULT;
<a name="l01811"></a>01811
<a name="l01817"></a>01817 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetSnapshotMicros(uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT;
<a name="l01818"></a>01818
<a name="l01831"></a>01831 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;
<a name="l01832"></a>01832
<a name="l01838"></a>01838 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetTimeoutMillis(<span class="keywordtype">int</span> millis);
<a name="l01839"></a>01839
<a name="l01841"></a>01841 KuduSchema GetProjectionSchema() const;
<a name="l01842"></a>01842
<a name="l01844"></a>01844 std::<span class="keywordtype">string</span> ToString() const;
<a name="l01845"></a>01845
<a name="l01846"></a>01846 private:
<a name="l01847"></a>01847 class KUDU_NO_EXPORT Data;
<a name="l01848"></a>01848
<a name="l01849"></a>01849 friend class KuduScanToken;
<a name="l01850"></a>01850 FRIEND_TEST(ClientTest, TestScanCloseProxy);
<a name="l01851"></a>01851 FRIEND_TEST(ClientTest, TestScanFaultTolerance);
<a name="l01852"></a>01852 FRIEND_TEST(ClientTest, TestScanNoBlockCaching);
<a name="l01853"></a>01853 FRIEND_TEST(ClientTest, TestScanTimeout);
<a name="l01854"></a>01854
<a name="l01855"></a>01855 <span class="comment">// Owned.</span>
<a name="l01856"></a>01856 Data* data_;
<a name="l01857"></a>01857
<a name="l01858"></a>01858 DISALLOW_COPY_AND_ASSIGN(KuduScanner);
<a name="l01859"></a>01859 };
<a name="l01860"></a>01860
<a name="l01881"></a><a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">01881</a> class KUDU_EXPORT KuduScanToken {
<a name="l01882"></a>01882 <span class="keyword">public</span>:
<a name="l01883"></a>01883
<a name="l01884"></a>01884 ~KuduScanToken();
<a name="l01885"></a>01885
<a name="l01896"></a>01896 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> IntoKuduScanner(KuduScanner** scanner) <span class="keyword">const</span> WARN_UNUSED_RESULT;
<a name="l01897"></a>01897
<a name="l01899"></a>01899 <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTablet.html" title="In-memory representation of a remote tablet.">KuduTablet</a>&amp; tablet() <span class="keyword">const</span>;
<a name="l01900"></a>01900
<a name="l01908"></a>01908 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> Serialize(std::string* buf) <span class="keyword">const</span> WARN_UNUSED_RESULT;
<a name="l01909"></a>01909
<a name="l01921"></a>01921 <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> DeserializeIntoScanner(KuduClient* client,
<a name="l01922"></a>01922 <span class="keyword">const</span> std::string&amp; serialized_token,
<a name="l01923"></a>01923 KuduScanner** scanner) WARN_UNUSED_RESULT;
<a name="l01924"></a>01924
<a name="l01925"></a>01925 <span class="keyword">private</span>:
<a name="l01926"></a>01926 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l01927"></a>01927
<a name="l01928"></a>01928 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a>;
<a name="l01929"></a>01929
<a name="l01930"></a>01930 KuduScanToken();
<a name="l01931"></a>01931
<a name="l01932"></a>01932 <span class="comment">// Owned.</span>
<a name="l01933"></a>01933 Data* data_;
<a name="l01934"></a>01934
<a name="l01935"></a>01935 DISALLOW_COPY_AND_ASSIGN(KuduScanToken);
<a name="l01936"></a>01936 };
<a name="l01937"></a>01937
<a name="l01941"></a><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">01941</a> <span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a> {
<a name="l01942"></a>01942 <span class="keyword">public</span>:
<a name="l01943"></a>01943
<a name="l01949"></a>01949 <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a>(<a class="code" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a>* table);
<a name="l01950"></a>01950 ~<a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a>();
<a name="l01951"></a>01951
<a name="l01961"></a>01961 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetProjectedColumnNames(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)
<a name="l01962"></a>01962 WARN_UNUSED_RESULT;
<a name="l01963"></a>01963
<a name="l01965"></a>01965 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetProjectedColumnIndexes(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; col_indexes)
<a name="l01966"></a>01966 WARN_UNUSED_RESULT;
<a name="l01967"></a>01967
<a name="l01969"></a>01969 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddConjunctPredicate(<a class="code" href="classkudu_1_1client_1_1KuduPredicate.html" title="A representation of comparison predicate for Kudu queries.">KuduPredicate</a>* pred) WARN_UNUSED_RESULT;
<a name="l01970"></a>01970
<a name="l01972"></a>01972 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddLowerBound(<span class="keyword">const</span> <a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>&amp; key) WARN_UNUSED_RESULT;
<a name="l01973"></a>01973
<a name="l01982"></a>01982 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> AddUpperBound(<span class="keyword">const</span> <a class="code" href="classkudu_1_1KuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a>&amp; key) WARN_UNUSED_RESULT;
<a name="l01983"></a>01983
<a name="l01985"></a>01985 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetCacheBlocks(<span class="keywordtype">bool</span> cache_blocks) WARN_UNUSED_RESULT;
<a name="l01986"></a>01986
<a name="l01993"></a>01993 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetBatchSizeBytes(uint32_t batch_size) WARN_UNUSED_RESULT;
<a name="l01994"></a>01994
<a name="l02002"></a>02002 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetSelection(<a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection)
<a name="l02003"></a>02003 WARN_UNUSED_RESULT;
<a name="l02004"></a>02004
<a name="l02006"></a>02006 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetReadMode(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348" title="The read modes for scanners.">KuduScanner::ReadMode</a> read_mode) WARN_UNUSED_RESULT;
<a name="l02007"></a>02007
<a name="l02009"></a>02009 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetFaultTolerant() WARN_UNUSED_RESULT;
<a name="l02010"></a>02010
<a name="l02012"></a>02012 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetSnapshotMicros(uint64_t snapshot_timestamp_micros)
<a name="l02013"></a>02013 WARN_UNUSED_RESULT;
<a name="l02014"></a>02014
<a name="l02016"></a>02016 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;
<a name="l02017"></a>02017
<a name="l02019"></a>02019 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> SetTimeoutMillis(<span class="keywordtype">int</span> millis) WARN_UNUSED_RESULT;
<a name="l02020"></a>02020
<a name="l02029"></a>02029 <a class="code" href="classkudu_1_1Status.html" title="A representation of an operation&amp;#39;s outcome.">Status</a> Build(std::vector&lt;KuduScanToken*&gt;* tokens) WARN_UNUSED_RESULT;
<a name="l02030"></a>02030
<a name="l02032"></a>02032 std::string ToString() <span class="keyword">const</span>;
<a name="l02033"></a>02033
<a name="l02034"></a>02034 <span class="keyword">private</span>:
<a name="l02035"></a>02035 <span class="keyword">class </span>KUDU_NO_EXPORT Data;
<a name="l02036"></a>02036
<a name="l02037"></a>02037 <span class="comment">// Owned.</span>
<a name="l02038"></a>02038 Data* data_;
<a name="l02039"></a>02039
<a name="l02040"></a>02040 DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a>);
<a name="l02041"></a>02041 };
<a name="l02042"></a>02042
<a name="l02043"></a>02043 } <span class="comment">// namespace client</span>
<a name="l02044"></a>02044 } <span class="comment">// namespace kudu</span>
<a name="l02045"></a>02045 <span class="preprocessor">#endif</span>
</pre></div></div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
<small>Generated for Kudu version 1.0.1 on Tue Oct 11 08:52:01 2016 by Doxygen 1.6.1</small>
<br>
<small>Copyright © 2016 The Apache Software Foundation.</small>
</address>
</body>
</html>