blob: 6ef717f929f252243196d212310c328edc174df0 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kudu C++ client API: kudu::client::KuduScanTokenBuilder 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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Kudu C++ client API
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('classkudu_1_1client_1_1KuduScanTokenBuilder.html','','classkudu_1_1client_1_1KuduScanTokenBuilder-members'); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">kudu::client::KuduScanTokenBuilder Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Builds scan tokens for a table.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa8d300b560d419030abd503b66812484" id="r_aa8d300b560d419030abd503b66812484"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8d300b560d419030abd503b66812484">KuduScanTokenBuilder</a> (<a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> *table)</td></tr>
<tr class="memitem:a0dbb58301fc0e48ce44f41215d32f0ad" id="r_a0dbb58301fc0e48ce44f41215d32f0ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames</a> (const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:a01d990e024632c7749cca96b4f857be8" id="r_a01d990e024632c7749cca96b4f857be8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes</a> (const std::vector&lt; int &gt; &amp;col_indexes) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:ac40487d17b8e4dcca7ca08efeb5f195e" id="r_ac40487d17b8e4dcca7ca08efeb5f195e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac40487d17b8e4dcca7ca08efeb5f195e">AddConjunctPredicate</a> (<a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *pred) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:ae11ca3d00d15138e957a2c2e89b05fcf" id="r_ae11ca3d00d15138e957a2c2e89b05fcf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae11ca3d00d15138e957a2c2e89b05fcf">AddLowerBound</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;key) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:ac4d0fa934e4c705ac76c424a5431566a" id="r_ac4d0fa934e4c705ac76c424a5431566a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac4d0fa934e4c705ac76c424a5431566a">AddUpperBound</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;key) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:a7ab7c9c1c4f4d3bbbc18b2b35d7d5475" id="r_a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">SetCacheBlocks</a> (bool cache_blocks) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:a36523ca7f2f9a2b4e3c096cf6167643c" id="r_a36523ca7f2f9a2b4e3c096cf6167643c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a36523ca7f2f9a2b4e3c096cf6167643c">SetBatchSizeBytes</a> (uint32_t batch_size) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:a168bfed43dcd754a17d4c82293dade88" id="r_a168bfed43dcd754a17d4c82293dade88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a168bfed43dcd754a17d4c82293dade88">SetSelection</a> (<a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:adb34f01a9bc52a9e23ce49124bab3892" id="r_adb34f01a9bc52a9e23ce49124bab3892"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adb34f01a9bc52a9e23ce49124bab3892">SetReadMode</a> (<a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">KuduScanner::ReadMode</a> read_mode) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:a4a17f27950ccd59bcb3430fb28b61dbe" id="r_a4a17f27950ccd59bcb3430fb28b61dbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4a17f27950ccd59bcb3430fb28b61dbe">SetFaultTolerant</a> () WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:aa4c1cfa570edfaab818831a2330eece5" id="r_aa4c1cfa570edfaab818831a2330eece5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa4c1cfa570edfaab818831a2330eece5">SetSnapshotMicros</a> (uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:a313e345dc6c1f9ccdad65df5af2cf4b7" id="r_a313e345dc6c1f9ccdad65df5af2cf4b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a313e345dc6c1f9ccdad65df5af2cf4b7">SetSnapshotRaw</a> (uint64_t snapshot_timestamp) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:a0f0e58d5d6fb3867ff0a03f7fc633445" id="r_a0f0e58d5d6fb3867ff0a03f7fc633445"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0f0e58d5d6fb3867ff0a03f7fc633445">SetTimeoutMillis</a> (int millis) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:a793300a4e76a649536797244abbb94a3" id="r_a793300a4e76a649536797244abbb94a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a793300a4e76a649536797244abbb94a3">IncludeTableMetadata</a> (bool include_metadata) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:acc2f556dc0e6fd2501e81722fcb75843" id="r_acc2f556dc0e6fd2501e81722fcb75843"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acc2f556dc0e6fd2501e81722fcb75843">IncludeTabletMetadata</a> (bool include_metadata) WARN_UNUSED_RESULT</td></tr>
<tr class="memitem:aa319defe43572db7e86f15d5a4d430f3" id="r_aa319defe43572db7e86f15d5a4d430f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa319defe43572db7e86f15d5a4d430f3">SetQueryId</a> (const std::string &amp;query_id)</td></tr>
<tr class="memitem:ad132bec8c7bcc2e6509ae4d0b255c586" id="r_ad132bec8c7bcc2e6509ae4d0b255c586"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad132bec8c7bcc2e6509ae4d0b255c586">SetSplitSizeBytes</a> (uint64_t split_size_bytes)</td></tr>
<tr class="memitem:acbc00b42db998f3342fa0ca7ab55dfdb" id="r_acbc00b42db998f3342fa0ca7ab55dfdb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acbc00b42db998f3342fa0ca7ab55dfdb">Build</a> (std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a> * &gt; *tokens) WARN_UNUSED_RESULT</td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Builds scan tokens for a table. </p>
<dl class="section note"><dt>Note</dt><dd>This class is not thread-safe. </dd></dl>
</div><a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa8d300b560d419030abd503b66812484" name="aa8d300b560d419030abd503b66812484"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8d300b560d419030abd503b66812484">&#9670;&#160;</a></span>KuduScanTokenBuilder()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">kudu::client::KuduScanTokenBuilder::KuduScanTokenBuilder </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> *</td> <td class="paramname"><span class="paramname"><em>table</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel explicit">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct an instance of the class.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">table</td><td>The table the tokens should scan. The given object must remain valid for the lifetime of the builder, and the tokens which it builds. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="ac40487d17b8e4dcca7ca08efeb5f195e" name="ac40487d17b8e4dcca7ca08efeb5f195e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac40487d17b8e4dcca7ca08efeb5f195e">&#9670;&#160;</a></span>AddConjunctPredicate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::AddConjunctPredicate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *</td> <td class="paramname"><span class="paramname"><em>pred</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<p>Add a predicate for the scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pred</td><td>Predicate to set. The <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a> instance takes ownership of the parameter even if a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> is returned. Multiple calls of this method make the specified set of predicates work in conjunction, i.e. all predicates must be true for a row to be returned. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="ae11ca3d00d15138e957a2c2e89b05fcf" name="ae11ca3d00d15138e957a2c2e89b05fcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae11ca3d00d15138e957a2c2e89b05fcf">&#9670;&#160;</a></span>AddLowerBound()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::AddLowerBound </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;</td> <td class="paramname"><span class="paramname"><em>key</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<p>Add a lower bound (inclusive) primary key for the scan.</p>
<p>If any bound is already added, this bound is intersected with that one.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Lower bound primary key to add. The <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a> instance does not take ownership of the parameter. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="ac4d0fa934e4c705ac76c424a5431566a" name="ac4d0fa934e4c705ac76c424a5431566a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4d0fa934e4c705ac76c424a5431566a">&#9670;&#160;</a></span>AddUpperBound()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::AddUpperBound </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;</td> <td class="paramname"><span class="paramname"><em>key</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add an upper bound (exclusive) primary key.</p>
<p>If any bound is already added, this bound is intersected with that one.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Upper bound primary key to add. The <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a> instance does not take ownership of the parameter. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="acbc00b42db998f3342fa0ca7ab55dfdb" name="acbc00b42db998f3342fa0ca7ab55dfdb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbc00b42db998f3342fa0ca7ab55dfdb">&#9670;&#160;</a></span>Build()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::Build </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a> * &gt; *</td> <td class="paramname"><span class="paramname"><em>tokens</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Build the set of scan tokens.</p>
<p>The builder may be reused after this call.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">tokens</td><td>Result set of tokens. The caller takes ownership of the container elements. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="a793300a4e76a649536797244abbb94a3" name="a793300a4e76a649536797244abbb94a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a793300a4e76a649536797244abbb94a3">&#9670;&#160;</a></span>IncludeTableMetadata()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::IncludeTableMetadata </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>include_metadata</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the table metadata is included on the scan token a GetTableSchema RPC call to the master can be avoided when deserializing each scan token into a scanner.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">include_metadata</td><td>true, if table metadata should be included. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="acc2f556dc0e6fd2501e81722fcb75843" name="acc2f556dc0e6fd2501e81722fcb75843"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc2f556dc0e6fd2501e81722fcb75843">&#9670;&#160;</a></span>IncludeTabletMetadata()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::IncludeTabletMetadata </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>include_metadata</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the tablet metadata is included on the scan token a GetTableLocations RPC call to the master can be avoided when scanning with a scanner constructed from a scan token.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">include_metadata</td><td>true, if table metadata should be included. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="a36523ca7f2f9a2b4e3c096cf6167643c" name="a36523ca7f2f9a2b4e3c096cf6167643c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36523ca7f2f9a2b4e3c096cf6167643c">&#9670;&#160;</a></span>SetBatchSizeBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes </td>
<td>(</td>
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>batch_size</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the hint for the size of the next batch in bytes.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">batch_size</td><td>Batch size to set (in bytes). If set to 0, the first call to the tablet server won't return data. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="a7ab7c9c1c4f4d3bbbc18b2b35d7d5475" name="a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">&#9670;&#160;</a></span>SetCacheBlocks()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetCacheBlocks </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>cache_blocks</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<p>Set the block caching policy.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cache_blocks</td><td>If <code>true</code>, scanned data blocks will be cached in memory and made available for future scans. Default is <code>true</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="a4a17f27950ccd59bcb3430fb28b61dbe" name="a4a17f27950ccd59bcb3430fb28b61dbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a17f27950ccd59bcb3430fb28b61dbe">&#9670;&#160;</a></span>SetFaultTolerant()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetFaultTolerant </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<p>Make scans resumable at another tablet server if current server fails.</p>
<p>Scans are by default non fault-tolerant, and scans will fail if scanning an individual tablet fails (for example, if a tablet server crashes in the middle of a tablet scan). If this method is called, scans will be resumed at another tablet server in the case of failure.</p>
<p>Fault-tolerant scans typically have lower throughput than non fault-tolerant scans. Fault tolerant scans use <code>READ_AT_SNAPSHOT</code> mode: if no snapshot timestamp is provided, the server will pick one.</p>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="a01d990e024632c7749cca96b4f857be8" name="a01d990e024632c7749cca96b4f857be8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01d990e024632c7749cca96b4f857be8">&#9670;&#160;</a></span>SetProjectedColumnIndexes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>col_indexes</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<p>Set the column projection by passing the column indexes to read.</p>
<p>Set the column projection used for this scanner by passing the column indices to read. A call to this method overrides any previous call to <a class="el" href="#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames()</a> or <a class="el" href="#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">col_indexes</td><td>Column indices for the projection. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="a0dbb58301fc0e48ce44f41215d32f0ad" name="a0dbb58301fc0e48ce44f41215d32f0ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dbb58301fc0e48ce44f41215d32f0ad">&#9670;&#160;</a></span>SetProjectedColumnNames()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>col_names</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the column projection by passing the column names to read.</p>
<p>Set the column projection used for this scanner by passing the column names to read. A call of this method overrides any previous call to <a class="el" href="#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames()</a> or <a class="el" href="#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">col_names</td><td>Column names for the projection. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="aa319defe43572db7e86f15d5a4d430f3" name="aa319defe43572db7e86f15d5a4d430f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa319defe43572db7e86f15d5a4d430f3">&#9670;&#160;</a></span>SetQueryId()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetQueryId </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>query_id</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set a query id for the scan to trace the whole process. Query id is set by the user or generated automatically. It is used to trace the whole query process for for troubleshooting and debugging.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">query_id</td><td>A query id to identify a query. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="adb34f01a9bc52a9e23ce49124bab3892" name="adb34f01a9bc52a9e23ce49124bab3892"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb34f01a9bc52a9e23ce49124bab3892">&#9670;&#160;</a></span>SetReadMode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetReadMode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">KuduScanner::ReadMode</a></td> <td class="paramname"><span class="paramname"><em>read_mode</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<p>Set the ReadMode. Default is <code>READ_LATEST</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">read_mode</td><td>Read mode to set. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="a168bfed43dcd754a17d4c82293dade88" name="a168bfed43dcd754a17d4c82293dade88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a168bfed43dcd754a17d4c82293dade88">&#9670;&#160;</a></span>SetSelection()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetSelection </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a></td> <td class="paramname"><span class="paramname"><em>selection</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the replica selection policy while scanning.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">selection</td><td>Selection policy to set. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status.</dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000008">Todo</a></b></dt><dd>Kill this in favor of a consistency-level-based API. </dd></dl>
</div>
</div>
<a id="aa4c1cfa570edfaab818831a2330eece5" name="aa4c1cfa570edfaab818831a2330eece5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4c1cfa570edfaab818831a2330eece5">&#9670;&#160;</a></span>SetSnapshotMicros()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetSnapshotMicros </td>
<td>(</td>
<td class="paramtype">uint64_t</td> <td class="paramname"><span class="paramname"><em>snapshot_timestamp_micros</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<p>Set snapshot timestamp for scans in <code>READ_AT_SNAPSHOT</code> mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">snapshot_timestamp_micros</td><td>Timestamp to set in in microseconds since the Epoch. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="a313e345dc6c1f9ccdad65df5af2cf4b7" name="a313e345dc6c1f9ccdad65df5af2cf4b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a313e345dc6c1f9ccdad65df5af2cf4b7">&#9670;&#160;</a></span>SetSnapshotRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetSnapshotRaw </td>
<td>(</td>
<td class="paramtype">uint64_t</td> <td class="paramname"><span class="paramname"><em>snapshot_timestamp</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<p>Set snapshot timestamp for scans in <code>READ_AT_SNAPSHOT</code> mode (raw).</p>
<dl class="section note"><dt>Note</dt><dd>This method is experimental and will either disappear or change in a future release.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">snapshot_timestamp</td><td>Timestamp to set in raw encoded form (i.e. as returned by a previous call to a server). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
</div>
</div>
<a id="ad132bec8c7bcc2e6509ae4d0b255c586" name="ad132bec8c7bcc2e6509ae4d0b255c586"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad132bec8c7bcc2e6509ae4d0b255c586">&#9670;&#160;</a></span>SetSplitSizeBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void kudu::client::KuduScanTokenBuilder::SetSplitSizeBytes </td>
<td>(</td>
<td class="paramtype">uint64_t</td> <td class="paramname"><span class="paramname"><em>split_size_bytes</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set approximate data size (in bytes) for each key range that a single scan token is built for.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">split_size_bytes</td><td>The approximate target size of the data to be retrieved per scan token. If set to <code>0</code> (and that's the default, unless explicitly set by calling this method), the key ranges of the scan tokens to be produced are determined by the table's partition schema, so a single token is built per single tablet. Also see <code>KuduScanToken#setSplitSizeBytes</code> in the Java client. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0f0e58d5d6fb3867ff0a03f7fc633445" name="a0f0e58d5d6fb3867ff0a03f7fc633445"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f0e58d5d6fb3867ff0a03f7fc633445">&#9670;&#160;</a></span>SetTimeoutMillis()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetTimeoutMillis </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>millis</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p></p>
<p>Set the maximum time that Open() and NextBatch() are allowed to take.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">millis</td><td>Timeout to set (in milliseconds). Must be greater than 0. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </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 -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
<small>Generated for Kudu version 1.18.0 on Wed Jul 9 2025 13:08:41 by Doxygen 1.14.0</small>
<br>
<small>Copyright © 2025 The Apache Software Foundation.</small>
</address>
</body>
</html>