<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<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>
<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 style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kudu C++ client API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</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');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classkudu_1_1client_1_1KuduScanTokenBuilder-members.html">List of all members</a>  </div>
  <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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#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 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa8d300b560d419030abd503b66812484"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484">KuduScanTokenBuilder</a> (<a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> *table)</td></tr>
<tr class="separator:aa8d300b560d419030abd503b66812484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames</a> (const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a0dbb58301fc0e48ce44f41215d32f0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes</a> (const std::vector&lt; int &gt; &amp;col_indexes) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a01d990e024632c7749cca96b4f857be8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e">AddConjunctPredicate</a> (<a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *pred) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ac40487d17b8e4dcca7ca08efeb5f195e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">AddLowerBound</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;key) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ae11ca3d00d15138e957a2c2e89b05fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">AddUpperBound</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;key) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ac4d0fa934e4c705ac76c424a5431566a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">SetCacheBlocks</a> (bool cache_blocks) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c">SetBatchSizeBytes</a> (uint32_t batch_size) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a36523ca7f2f9a2b4e3c096cf6167643c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#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="separator:a168bfed43dcd754a17d4c82293dade88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#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="separator:adb34f01a9bc52a9e23ce49124bab3892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe">SetFaultTolerant</a> () WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a4a17f27950ccd59bcb3430fb28b61dbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5">SetSnapshotMicros</a> (uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:aa4c1cfa570edfaab818831a2330eece5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7">SetSnapshotRaw</a> (uint64_t snapshot_timestamp) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a313e345dc6c1f9ccdad65df5af2cf4b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem: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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445">SetTimeoutMillis</a> (int millis) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a0f0e58d5d6fb3867ff0a03f7fc633445"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7eacf0a7e7616b1515170cf6fe833694"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7eacf0a7e7616b1515170cf6fe833694">Build</a> (std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a> *&gt; *tokens) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a7eacf0a7e7616b1515170cf6fe833694"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Builds scan tokens for a table. </p>
<dl class="section note"><dt>Note</dt><dd>This class is not thread-safe. </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa8d300b560d419030abd503b66812484"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8d300b560d419030abd503b66812484">&#9670;&nbsp;</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> *&#160;</td>
          <td class="paramname"><em>table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">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>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac40487d17b8e4dcca7ca08efeb5f195e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac40487d17b8e4dcca7ca08efeb5f195e">&#9670;&nbsp;</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> *&#160;</td>
          <td class="paramname"><em>pred</em></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"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae11ca3d00d15138e957a2c2e89b05fcf">&#9670;&nbsp;</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;&#160;</td>
          <td class="paramname"><em>key</em></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"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4d0fa934e4c705ac76c424a5431566a">&#9670;&nbsp;</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;&#160;</td>
          <td class="paramname"><em>key</em></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="a7eacf0a7e7616b1515170cf6fe833694"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eacf0a7e7616b1515170cf6fe833694">&#9670;&nbsp;</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; *&#160;</td>
          <td class="paramname"><em>tokens</em></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="a36523ca7f2f9a2b4e3c096cf6167643c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36523ca7f2f9a2b4e3c096cf6167643c">&#9670;&nbsp;</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&#160;</td>
          <td class="paramname"><em>batch_size</em></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"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">&#9670;&nbsp;</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&#160;</td>
          <td class="paramname"><em>cache_blocks</em></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"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a17f27950ccd59bcb3430fb28b61dbe">&#9670;&nbsp;</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"></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"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01d990e024632c7749cca96b4f857be8">&#9670;&nbsp;</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;&#160;</td>
          <td class="paramname"><em>col_indexes</em></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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames()</a> or <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#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"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dbb58301fc0e48ce44f41215d32f0ad">&#9670;&nbsp;</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;&#160;</td>
          <td class="paramname"><em>col_names</em></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="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames()</a> or <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#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="adb34f01a9bc52a9e23ce49124bab3892"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb34f01a9bc52a9e23ce49124bab3892">&#9670;&nbsp;</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>&#160;</td>
          <td class="paramname"><em>read_mode</em></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"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a168bfed43dcd754a17d4c82293dade88">&#9670;&nbsp;</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>&#160;</td>
          <td class="paramname"><em>selection</em></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"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4c1cfa570edfaab818831a2330eece5">&#9670;&nbsp;</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&#160;</td>
          <td class="paramname"><em>snapshot_timestamp_micros</em></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"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a313e345dc6c1f9ccdad65df5af2cf4b7">&#9670;&nbsp;</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&#160;</td>
          <td class="paramname"><em>snapshot_timestamp</em></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="a0f0e58d5d6fb3867ff0a03f7fc633445"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f0e58d5d6fb3867ff0a03f7fc633445">&#9670;&nbsp;</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&#160;</td>
          <td class="paramname"><em>millis</em></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 -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.11.1 on Tue Nov 19 2019 23:11:03 by Doxygen 1.8.13</small>
  <br>
  <small>Copyright © 2019 The Apache Software Foundation.</small>
</address>
</body>
</html>
