blob: 66af38e13798bf5ccfe516efd50d5e53cc867f2c [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.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>iceberg-cpp: iceberg::TableScanBuilder&lt; ScanType &gt; Class Template 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 id="projectrow">
<td id="projectalign">
<div id="projectname">iceberg-cpp
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</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">
<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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>iceberg</b></li><li class="navelem"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classiceberg_1_1TableScanBuilder-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">iceberg::TableScanBuilder&lt; ScanType &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Builder class for creating <a class="el" href="classiceberg_1_1TableScan.html" title="Represents a configured scan operation on a table.">TableScan</a> instances.
<a href="classiceberg_1_1TableScanBuilder.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="table__scan_8h_source.html">table_scan.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for iceberg::TableScanBuilder&lt; ScanType &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classiceberg_1_1TableScanBuilder.png" usemap="#iceberg::TableScanBuilder_3C_20ScanType_20_3E_map" alt=""/>
<map id="iceberg::TableScanBuilder_3C_20ScanType_20_3E_map" name="iceberg::TableScanBuilder_3C_20ScanType_20_3E_map">
<area href="classiceberg_1_1ErrorCollector.html" title="Base class for collecting errors in the builder pattern." alt="iceberg::ErrorCollector" shape="rect" coords="0,0,242,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2a216097f0408d88d6e55d77b2accbea" id="r_a2a216097f0408d88d6e55d77b2accbea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a2a216097f0408d88d6e55d77b2accbea">Option</a> (std::string key, std::string value)</td></tr>
<tr class="memdesc:a2a216097f0408d88d6e55d77b2accbea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update property that will override the table's behavior based on the incoming pair. Unknown properties will be ignored. <br /></td></tr>
<tr class="separator:a2a216097f0408d88d6e55d77b2accbea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd66657a44c00b05c415311862ae7d40" id="r_abd66657a44c00b05c415311862ae7d40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#abd66657a44c00b05c415311862ae7d40">Project</a> (std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Schema.html">Schema</a> &gt; schema)</td></tr>
<tr class="memdesc:abd66657a44c00b05c415311862ae7d40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the projected schema. <br /></td></tr>
<tr class="separator:abd66657a44c00b05c415311862ae7d40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac00aad52879b73e8ed75f5f430964ce6" id="r_ac00aad52879b73e8ed75f5f430964ce6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#ac00aad52879b73e8ed75f5f430964ce6">CaseSensitive</a> (bool case_sensitive)</td></tr>
<tr class="memdesc:ac00aad52879b73e8ed75f5f430964ce6"><td class="mdescLeft">&#160;</td><td class="mdescRight">If data columns are selected via <a class="el" href="classiceberg_1_1TableScanBuilder.html#a257dd4db6fb1f25b273e183adf6205c3" title="Request this scan to read the given data columns.">Select()</a>, controls whether the match to the schema will be done with case sensitivity. Default is true. <br /></td></tr>
<tr class="separator:ac00aad52879b73e8ed75f5f430964ce6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe3c441f6b0c6ce38be038c5ea077afe" id="r_afe3c441f6b0c6ce38be038c5ea077afe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#afe3c441f6b0c6ce38be038c5ea077afe">IncludeColumnStats</a> ()</td></tr>
<tr class="memdesc:afe3c441f6b0c6ce38be038c5ea077afe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request this scan to load the column stats with each data file. <br /></td></tr>
<tr class="separator:afe3c441f6b0c6ce38be038c5ea077afe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdca85806ae188fba18f5ffb533a5d88" id="r_afdca85806ae188fba18f5ffb533a5d88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#afdca85806ae188fba18f5ffb533a5d88">IncludeColumnStats</a> (const std::vector&lt; std::string &gt; &amp;requested_columns)</td></tr>
<tr class="memdesc:afdca85806ae188fba18f5ffb533a5d88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request this scan to load the column stats for the specific columns with each data file. <br /></td></tr>
<tr class="separator:afdca85806ae188fba18f5ffb533a5d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a257dd4db6fb1f25b273e183adf6205c3" id="r_a257dd4db6fb1f25b273e183adf6205c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a257dd4db6fb1f25b273e183adf6205c3">Select</a> (const std::vector&lt; std::string &gt; &amp;column_names)</td></tr>
<tr class="memdesc:a257dd4db6fb1f25b273e183adf6205c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request this scan to read the given data columns. <br /></td></tr>
<tr class="separator:a257dd4db6fb1f25b273e183adf6205c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61da5e878b353d3c8a7861696e88c221" id="r_a61da5e878b353d3c8a7861696e88c221"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a61da5e878b353d3c8a7861696e88c221">Filter</a> (std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt; filter)</td></tr>
<tr class="memdesc:a61da5e878b353d3c8a7861696e88c221"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the expression to filter data. <br /></td></tr>
<tr class="separator:a61da5e878b353d3c8a7861696e88c221"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15546737f3777c39f2d8330b5353e2b4" id="r_a15546737f3777c39f2d8330b5353e2b4"><td class="memItemLeft" align="right" valign="top"><a id="a15546737f3777c39f2d8330b5353e2b4" name="a15546737f3777c39f2d8330b5353e2b4"></a>
<a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>IgnoreResiduals</b> ()</td></tr>
<tr class="memdesc:a15546737f3777c39f2d8330b5353e2b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request data filtering to files but not to rows in those files. <br /></td></tr>
<tr class="separator:a15546737f3777c39f2d8330b5353e2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac493bd2f7691cafc1fb5b69781eee47e" id="r_ac493bd2f7691cafc1fb5b69781eee47e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#ac493bd2f7691cafc1fb5b69781eee47e">MinRowsRequested</a> (int64_t num_rows)</td></tr>
<tr class="memdesc:ac493bd2f7691cafc1fb5b69781eee47e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request this scan to return at least the given number of rows. <br /></td></tr>
<tr class="separator:ac493bd2f7691cafc1fb5b69781eee47e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57fdfa9c01654b48c6ce2bd5c5e78992" id="r_a57fdfa9c01654b48c6ce2bd5c5e78992"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a57fdfa9c01654b48c6ce2bd5c5e78992">UseSnapshot</a> (int64_t snapshot_id)</td></tr>
<tr class="memdesc:a57fdfa9c01654b48c6ce2bd5c5e78992"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request this scan to use the given snapshot by ID. <br /></td></tr>
<tr class="separator:a57fdfa9c01654b48c6ce2bd5c5e78992"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26d20c3ec55f73cc8cf47d339aa56d58" id="r_a26d20c3ec55f73cc8cf47d339aa56d58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a26d20c3ec55f73cc8cf47d339aa56d58">UseRef</a> (const std::string &amp;ref)</td></tr>
<tr class="memdesc:a26d20c3ec55f73cc8cf47d339aa56d58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request this scan to use the given reference. <br /></td></tr>
<tr class="separator:a26d20c3ec55f73cc8cf47d339aa56d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4d9196cc9ef2a71830d8ee1334ce7ea" id="r_aa4d9196cc9ef2a71830d8ee1334ce7ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#aa4d9196cc9ef2a71830d8ee1334ce7ea">AsOfTime</a> (int64_t timestamp_millis)</td></tr>
<tr class="memdesc:aa4d9196cc9ef2a71830d8ee1334ce7ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request this scan to use the most recent snapshot as of the given time in milliseconds on the branch in the scan or main if no branch is set. <br /></td></tr>
<tr class="separator:aa4d9196cc9ef2a71830d8ee1334ce7ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89f5c755dd730c3400f6221d276fff8d" id="r_a89f5c755dd730c3400f6221d276fff8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a89f5c755dd730c3400f6221d276fff8d">FromSnapshot</a> (int64_t from_snapshot_id, bool inclusive=false)</td></tr>
<tr class="memdesc:a89f5c755dd730c3400f6221d276fff8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instructs this scan to look for changes starting from a particular snapshot. <br /></td></tr>
<tr class="separator:a89f5c755dd730c3400f6221d276fff8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2d05e98687a0755ed8b961c322558a2" id="r_ab2d05e98687a0755ed8b961c322558a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#ab2d05e98687a0755ed8b961c322558a2">FromSnapshot</a> (const std::string &amp;ref, bool inclusive=false)</td></tr>
<tr class="memdesc:ab2d05e98687a0755ed8b961c322558a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instructs this scan to look for changes starting from a particular snapshot. <br /></td></tr>
<tr class="separator:ab2d05e98687a0755ed8b961c322558a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1caef97392e1dc6f9f09ab8894e4eed" id="r_ae1caef97392e1dc6f9f09ab8894e4eed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#ae1caef97392e1dc6f9f09ab8894e4eed">ToSnapshot</a> (int64_t to_snapshot_id)</td></tr>
<tr class="memdesc:ae1caef97392e1dc6f9f09ab8894e4eed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instructs this scan to look for changes up to a particular snapshot (inclusive). <br /></td></tr>
<tr class="separator:ae1caef97392e1dc6f9f09ab8894e4eed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e346a8abcd9752a6e7b8ede728172d8" id="r_a0e346a8abcd9752a6e7b8ede728172d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a0e346a8abcd9752a6e7b8ede728172d8">ToSnapshot</a> (const std::string &amp;ref)</td></tr>
<tr class="memdesc:a0e346a8abcd9752a6e7b8ede728172d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instructs this scan to look for changes up to a particular snapshot ref (inclusive). <br /></td></tr>
<tr class="separator:a0e346a8abcd9752a6e7b8ede728172d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73969a672227c4bc8d1d96225818fbd5" id="r_a73969a672227c4bc8d1d96225818fbd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a73969a672227c4bc8d1d96225818fbd5">UseBranch</a> (const std::string &amp;branch)</td></tr>
<tr class="memdesc:a73969a672227c4bc8d1d96225818fbd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use the specified branch. <br /></td></tr>
<tr class="separator:a73969a672227c4bc8d1d96225818fbd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a932d068368e0f5347bd7d330f2d57fea" id="r_a932d068368e0f5347bd7d330f2d57fea"><td class="memItemLeft" align="right" valign="top">Result&lt; std::unique_ptr&lt; ScanType &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a932d068368e0f5347bd7d330f2d57fea">Build</a> ()</td></tr>
<tr class="memdesc:a932d068368e0f5347bd7d330f2d57fea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds and returns a <a class="el" href="classiceberg_1_1TableScan.html" title="Represents a configured scan operation on a table.">TableScan</a> instance. <br /></td></tr>
<tr class="separator:a932d068368e0f5347bd7d330f2d57fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classiceberg_1_1ErrorCollector"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classiceberg_1_1ErrorCollector')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classiceberg_1_1ErrorCollector.html">iceberg::ErrorCollector</a></td></tr>
<tr class="memitem:a827c296a8527f87f76d7f9321e7ee68f inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a827c296a8527f87f76d7f9321e7ee68f"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>ErrorCollector</b> (<a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a827c296a8527f87f76d7f9321e7ee68f inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22311658715152d8e6e27834240ce446 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a22311658715152d8e6e27834240ce446"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a22311658715152d8e6e27834240ce446 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3fa546cd2748fe418db9c0933542755 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_ab3fa546cd2748fe418db9c0933542755"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>ErrorCollector</b> (const <a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;)=default</td></tr>
<tr class="separator:ab3fa546cd2748fe418db9c0933542755 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaba366560be481bfa9538735f3a38e3e inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_aaba366560be481bfa9538735f3a38e3e"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classiceberg_1_1ErrorCollector.html">ErrorCollector</a> &amp;)=default</td></tr>
<tr class="separator:aaba366560be481bfa9538735f3a38e3e inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a20345150b136c918ffe8947a7d75e1 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a3a20345150b136c918ffe8947a7d75e1"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:a3a20345150b136c918ffe8947a7d75e1 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memTemplItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a3a20345150b136c918ffe8947a7d75e1">AddError</a> (this auto &amp;self, ErrorKind kind, const std::format_string&lt; Args... &gt; fmt, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:a3a20345150b136c918ffe8947a7d75e1 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a specific error and return reference to derived class. <br /></td></tr>
<tr class="separator:a3a20345150b136c918ffe8947a7d75e1 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e555954de121d0908dcf4648da446e3 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a5e555954de121d0908dcf4648da446e3"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a5e555954de121d0908dcf4648da446e3">AddError</a> (this auto &amp;self, <a class="el" href="structiceberg_1_1Error.html">Error</a> err)</td></tr>
<tr class="memdesc:a5e555954de121d0908dcf4648da446e3 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an existing error object and return reference to derived class. <br /></td></tr>
<tr class="separator:a5e555954de121d0908dcf4648da446e3 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5749264a2234092a5246056a1c72ee51 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a5749264a2234092a5246056a1c72ee51"><td class="memItemLeft" align="right" valign="top">auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a5749264a2234092a5246056a1c72ee51">AddError</a> (this auto &amp;self, std::unexpected&lt; <a class="el" href="structiceberg_1_1Error.html">Error</a> &gt; err)</td></tr>
<tr class="memdesc:a5749264a2234092a5246056a1c72ee51 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an unexpected result's error and return reference to derived class. <br /></td></tr>
<tr class="separator:a5749264a2234092a5246056a1c72ee51 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8813b3fe2a3cc112e6db19c87b8422ae inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a8813b3fe2a3cc112e6db19c87b8422ae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a8813b3fe2a3cc112e6db19c87b8422ae">has_errors</a> () const</td></tr>
<tr class="memdesc:a8813b3fe2a3cc112e6db19c87b8422ae inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if any errors have been collected. <br /></td></tr>
<tr class="separator:a8813b3fe2a3cc112e6db19c87b8422ae inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afae10739a78bbffc2609a63e52821195 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_afae10739a78bbffc2609a63e52821195"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#afae10739a78bbffc2609a63e52821195">error_count</a> () const</td></tr>
<tr class="memdesc:afae10739a78bbffc2609a63e52821195 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of errors collected. <br /></td></tr>
<tr class="separator:afae10739a78bbffc2609a63e52821195 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16cbe7b6d423a372c9e68d970ff2c3ea inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a16cbe7b6d423a372c9e68d970ff2c3ea"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a16cbe7b6d423a372c9e68d970ff2c3ea">CheckErrors</a> () const</td></tr>
<tr class="memdesc:a16cbe7b6d423a372c9e68d970ff2c3ea inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for accumulated errors and return them if any exist. <br /></td></tr>
<tr class="separator:a16cbe7b6d423a372c9e68d970ff2c3ea inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a274df2b90b0c22156a4c339aa30a4401 inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a274df2b90b0c22156a4c339aa30a4401"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1ErrorCollector.html#a274df2b90b0c22156a4c339aa30a4401">ClearErrors</a> ()</td></tr>
<tr class="memdesc:a274df2b90b0c22156a4c339aa30a4401 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear all accumulated errors. <br /></td></tr>
<tr class="separator:a274df2b90b0c22156a4c339aa30a4401 inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101fb70f2ad50a6023de932dc2eca96c inherit pub_methods_classiceberg_1_1ErrorCollector" id="r_a101fb70f2ad50a6023de932dc2eca96c"><td class="memItemLeft" align="right" valign="top">
const std::vector&lt; <a class="el" href="structiceberg_1_1Error.html">Error</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>errors</b> () const</td></tr>
<tr class="memdesc:a101fb70f2ad50a6023de932dc2eca96c inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get read-only access to all collected errors. <br /></td></tr>
<tr class="separator:a101fb70f2ad50a6023de932dc2eca96c inherit pub_methods_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a7f520118c3e11b471705acd9dbf96664" id="r_a7f520118c3e11b471705acd9dbf96664"><td class="memItemLeft" align="right" valign="top">static Result&lt; std::unique_ptr&lt; <a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classiceberg_1_1TableScanBuilder.html#a7f520118c3e11b471705acd9dbf96664">Make</a> (std::shared_ptr&lt; <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &gt; metadata, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io)</td></tr>
<tr class="memdesc:a7f520118c3e11b471705acd9dbf96664"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="classiceberg_1_1TableScanBuilder.html" title="Builder class for creating TableScan instances.">TableScanBuilder</a> for the given table. <br /></td></tr>
<tr class="separator:a7f520118c3e11b471705acd9dbf96664"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aa4d7cd482415dddea1c4b69218546705" id="r_aa4d7cd482415dddea1c4b69218546705"><td class="memItemLeft" align="right" valign="top"><a id="aa4d7cd482415dddea1c4b69218546705" name="aa4d7cd482415dddea1c4b69218546705"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>TableScanBuilder</b> (std::shared_ptr&lt; <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &gt; metadata, std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt; io)</td></tr>
<tr class="separator:aa4d7cd482415dddea1c4b69218546705"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ef44533d3b69737df7335276b6c334" id="r_a90ef44533d3b69737df7335276b6c334"><td class="memItemLeft" align="right" valign="top"><a id="a90ef44533d3b69737df7335276b6c334" name="a90ef44533d3b69737df7335276b6c334"></a>
Result&lt; std::reference_wrapper&lt; const std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Schema.html">Schema</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ResolveSnapshotSchema</b> ()</td></tr>
<tr class="separator:a90ef44533d3b69737df7335276b6c334"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ab11cd76b0e3fea6a5e085dc4a008af56" id="r_ab11cd76b0e3fea6a5e085dc4a008af56"><td class="memItemLeft" align="right" valign="top"><a id="ab11cd76b0e3fea6a5e085dc4a008af56" name="ab11cd76b0e3fea6a5e085dc4a008af56"></a>
std::shared_ptr&lt; <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>metadata_</b></td></tr>
<tr class="separator:ab11cd76b0e3fea6a5e085dc4a008af56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a521925acafdb8d3f0d117a18c6319e5d" id="r_a521925acafdb8d3f0d117a18c6319e5d"><td class="memItemLeft" align="right" valign="top"><a id="a521925acafdb8d3f0d117a18c6319e5d" name="a521925acafdb8d3f0d117a18c6319e5d"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>io_</b></td></tr>
<tr class="separator:a521925acafdb8d3f0d117a18c6319e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cedaba8eb4bc1987b24aa2b53c41db5" id="r_a0cedaba8eb4bc1987b24aa2b53c41db5"><td class="memItemLeft" align="right" valign="top"><a id="a0cedaba8eb4bc1987b24aa2b53c41db5" name="a0cedaba8eb4bc1987b24aa2b53c41db5"></a>
<a class="el" href="structiceberg_1_1internal_1_1TableScanContext.html">internal::TableScanContext</a>&#160;</td><td class="memItemRight" valign="bottom"><b>context_</b></td></tr>
<tr class="separator:a0cedaba8eb4bc1987b24aa2b53c41db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb593698184000a8cfd97221df54f451" id="r_adb593698184000a8cfd97221df54f451"><td class="memItemLeft" align="right" valign="top"><a id="adb593698184000a8cfd97221df54f451" name="adb593698184000a8cfd97221df54f451"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Schema.html">Schema</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>snapshot_schema_</b></td></tr>
<tr class="separator:adb593698184000a8cfd97221df54f451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classiceberg_1_1ErrorCollector"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classiceberg_1_1ErrorCollector')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classiceberg_1_1ErrorCollector.html">iceberg::ErrorCollector</a></td></tr>
<tr class="memitem:a354d1e7287bb45926a4b563f80d0c623 inherit pro_attribs_classiceberg_1_1ErrorCollector" id="r_a354d1e7287bb45926a4b563f80d0c623"><td class="memItemLeft" align="right" valign="top">
std::vector&lt; <a class="el" href="structiceberg_1_1Error.html">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>errors_</b></td></tr>
<tr class="separator:a354d1e7287bb45926a4b563f80d0c623 inherit pro_attribs_classiceberg_1_1ErrorCollector"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;typename ScanType = DataTableScan&gt;<br />
class iceberg::TableScanBuilder&lt; ScanType &gt;</div><p>Builder class for creating <a class="el" href="classiceberg_1_1TableScan.html" title="Represents a configured scan operation on a table.">TableScan</a> instances. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aa4d9196cc9ef2a71830d8ee1334ce7ea" name="aa4d9196cc9ef2a71830d8ee1334ce7ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4d9196cc9ef2a71830d8ee1334ce7ea">&#9670;&#160;</a></span>AsOfTime()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::AsOfTime </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>timestamp_millis</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request this scan to use the most recent snapshot as of the given time in milliseconds on the branch in the scan or main if no branch is set. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timestamp_millis</td><td>a timestamp in milliseconds. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>InvalidArgument will be returned if the snapshot cannot be found or time travel is attempted on a tag </dd></dl>
</div>
</div>
<a id="a932d068368e0f5347bd7d330f2d57fea" name="a932d068368e0f5347bd7d330f2d57fea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a932d068368e0f5347bd7d330f2d57fea">&#9670;&#160;</a></span>Build()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname">Result&lt; std::unique_ptr&lt; ScanType &gt; &gt; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::Build </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds and returns a <a class="el" href="classiceberg_1_1TableScan.html" title="Represents a configured scan operation on a table.">TableScan</a> instance. </p>
<dl class="section return"><dt>Returns</dt><dd>A Result containing the <a class="el" href="classiceberg_1_1TableScan.html" title="Represents a configured scan operation on a table.">TableScan</a> or an error. </dd></dl>
</div>
</div>
<a id="ac00aad52879b73e8ed75f5f430964ce6" name="ac00aad52879b73e8ed75f5f430964ce6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac00aad52879b73e8ed75f5f430964ce6">&#9670;&#160;</a></span>CaseSensitive()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::CaseSensitive </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>case_sensitive</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If data columns are selected via <a class="el" href="classiceberg_1_1TableScanBuilder.html#a257dd4db6fb1f25b273e183adf6205c3" title="Request this scan to read the given data columns.">Select()</a>, controls whether the match to the schema will be done with case sensitivity. Default is true. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">case_sensitive</td><td>whether the scan is case-sensitive </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a61da5e878b353d3c8a7861696e88c221" name="a61da5e878b353d3c8a7861696e88c221"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61da5e878b353d3c8a7861696e88c221">&#9670;&#160;</a></span>Filter()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::Filter </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Expression.html">Expression</a> &gt;&#160;</td>
<td class="paramname"><em>filter</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the expression to filter data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filter</td><td>a filter expression </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab2d05e98687a0755ed8b961c322558a2" name="ab2d05e98687a0755ed8b961c322558a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2d05e98687a0755ed8b961c322558a2">&#9670;&#160;</a></span>FromSnapshot() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; <br />
requires IsIncrementalScan&lt;ScanType&gt;</div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::FromSnapshot </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>ref</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>inclusive</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Instructs this scan to look for changes starting from a particular snapshot. </p>
<p>This method is only available for incremental scans. If the start snapshot is not configured, it defaults to the oldest ancestor of the end snapshot (inclusive).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ref</td><td>the start ref name that points to a particular snapshot ID </td></tr>
<tr><td class="paramname">inclusive</td><td>whether the start snapshot is inclusive, default is false </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>InvalidArgument will be returned if the start snapshot is not an ancestor of the end snapshot </dd></dl>
</div>
</div>
<a id="a89f5c755dd730c3400f6221d276fff8d" name="a89f5c755dd730c3400f6221d276fff8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89f5c755dd730c3400f6221d276fff8d">&#9670;&#160;</a></span>FromSnapshot() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; <br />
requires IsIncrementalScan&lt;ScanType&gt;</div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::FromSnapshot </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>from_snapshot_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>inclusive</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Instructs this scan to look for changes starting from a particular snapshot. </p>
<p>This method is only available for incremental scans. If the start snapshot is not configured, it defaults to the oldest ancestor of the end snapshot (inclusive).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">from_snapshot_id</td><td>the start snapshot ID </td></tr>
<tr><td class="paramname">inclusive</td><td>whether the start snapshot is inclusive, default is false </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>InvalidArgument will be returned if the start snapshot is not an ancestor of the end snapshot </dd></dl>
</div>
</div>
<a id="afe3c441f6b0c6ce38be038c5ea077afe" name="afe3c441f6b0c6ce38be038c5ea077afe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe3c441f6b0c6ce38be038c5ea077afe">&#9670;&#160;</a></span>IncludeColumnStats() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::IncludeColumnStats </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request this scan to load the column stats with each data file. </p>
<p>Column stats include: value count, null value count, lower bounds, and upper bounds. </p>
</div>
</div>
<a id="afdca85806ae188fba18f5ffb533a5d88" name="afdca85806ae188fba18f5ffb533a5d88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdca85806ae188fba18f5ffb533a5d88">&#9670;&#160;</a></span>IncludeColumnStats() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::IncludeColumnStats </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>requested_columns</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request this scan to load the column stats for the specific columns with each data file. </p>
<p>Column stats include: value count, null value count, lower bounds, and upper bounds.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">requested_columns</td><td>column names for which to keep the stats. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7f520118c3e11b471705acd9dbf96664" name="a7f520118c3e11b471705acd9dbf96664"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f520118c3e11b471705acd9dbf96664">&#9670;&#160;</a></span>Make()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Result&lt; std::unique_ptr&lt; <a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &gt; &gt; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::Make </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="structiceberg_1_1TableMetadata.html">TableMetadata</a> &gt;&#160;</td>
<td class="paramname"><em>metadata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> &gt;&#160;</td>
<td class="paramname"><em>io</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs a <a class="el" href="classiceberg_1_1TableScanBuilder.html" title="Builder class for creating TableScan instances.">TableScanBuilder</a> for the given table. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">metadata</td><td>Current table metadata. </td></tr>
<tr><td class="paramname">io</td><td><a class="el" href="classiceberg_1_1FileIO.html" title="Pluggable module for reading, writing, and deleting files.">FileIO</a> instance for reading manifests files. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac493bd2f7691cafc1fb5b69781eee47e" name="ac493bd2f7691cafc1fb5b69781eee47e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac493bd2f7691cafc1fb5b69781eee47e">&#9670;&#160;</a></span>MinRowsRequested()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::MinRowsRequested </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>num_rows</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request this scan to return at least the given number of rows. </p>
<p>This is used as a hint and is entirely optional in order to not have to return more rows than necessary. This may return fewer rows if the scan does not contain that many, or it may return more than requested.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">num_rows</td><td>The minimum number of rows requested </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2a216097f0408d88d6e55d77b2accbea" name="a2a216097f0408d88d6e55d77b2accbea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a216097f0408d88d6e55d77b2accbea">&#9670;&#160;</a></span>Option()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::Option </td>
<td>(</td>
<td class="paramtype">std::string&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Update property that will override the table's behavior based on the incoming pair. Unknown properties will be ignored. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>name of the table property to be overridden </td></tr>
<tr><td class="paramname">value</td><td>value to override with </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abd66657a44c00b05c415311862ae7d40" name="abd66657a44c00b05c415311862ae7d40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd66657a44c00b05c415311862ae7d40">&#9670;&#160;</a></span>Project()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::Project </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Schema.html">Schema</a> &gt;&#160;</td>
<td class="paramname"><em>schema</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the projected schema. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">schema</td><td>a projection schema </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a257dd4db6fb1f25b273e183adf6205c3" name="a257dd4db6fb1f25b273e183adf6205c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a257dd4db6fb1f25b273e183adf6205c3">&#9670;&#160;</a></span>Select()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::Select </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>column_names</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request this scan to read the given data columns. </p>
<p>This produces an expected schema that includes all fields that are either selected or used by this scan's filter expression.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">column_names</td><td>column names from the table's schema </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0e346a8abcd9752a6e7b8ede728172d8" name="a0e346a8abcd9752a6e7b8ede728172d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e346a8abcd9752a6e7b8ede728172d8">&#9670;&#160;</a></span>ToSnapshot() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; <br />
requires IsIncrementalScan&lt;ScanType&gt;</div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::ToSnapshot </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>ref</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Instructs this scan to look for changes up to a particular snapshot ref (inclusive). </p>
<p>This method is only available for incremental scans. If the end snapshot is not configured, it defaults to the current table snapshot (inclusive).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ref</td><td>the end snapshot Ref (inclusive) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae1caef97392e1dc6f9f09ab8894e4eed" name="ae1caef97392e1dc6f9f09ab8894e4eed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1caef97392e1dc6f9f09ab8894e4eed">&#9670;&#160;</a></span>ToSnapshot() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; <br />
requires IsIncrementalScan&lt;ScanType&gt;</div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::ToSnapshot </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>to_snapshot_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Instructs this scan to look for changes up to a particular snapshot (inclusive). </p>
<p>This method is only available for incremental scans. If the end snapshot is not configured, it defaults to the current table snapshot (inclusive).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to_snapshot_id</td><td>the end snapshot ID (inclusive) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a73969a672227c4bc8d1d96225818fbd5" name="a73969a672227c4bc8d1d96225818fbd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73969a672227c4bc8d1d96225818fbd5">&#9670;&#160;</a></span>UseBranch()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; <br />
requires IsIncrementalScan&lt;ScanType&gt;</div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::UseBranch </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>branch</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Use the specified branch. </p>
<p>This method is only available for incremental scans. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">branch</td><td>the branch name </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a26d20c3ec55f73cc8cf47d339aa56d58" name="a26d20c3ec55f73cc8cf47d339aa56d58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26d20c3ec55f73cc8cf47d339aa56d58">&#9670;&#160;</a></span>UseRef()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::UseRef </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>ref</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request this scan to use the given reference. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ref</td><td>reference </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>InvalidArgument will be returned if a reference with the given name could not be found </dd></dl>
</div>
</div>
<a id="a57fdfa9c01654b48c6ce2bd5c5e78992" name="a57fdfa9c01654b48c6ce2bd5c5e78992"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57fdfa9c01654b48c6ce2bd5c5e78992">&#9670;&#160;</a></span>UseSnapshot()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ScanType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classiceberg_1_1TableScanBuilder.html">TableScanBuilder</a>&lt; ScanType &gt; &amp; <a class="el" href="classiceberg_1_1TableScanBuilder.html">iceberg::TableScanBuilder</a>&lt; ScanType &gt;::UseSnapshot </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>snapshot_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request this scan to use the given snapshot by ID. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">snapshot_id</td><td>a snapshot ID </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>InvalidArgument will be returned if the snapshot cannot be found </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>iceberg/<a class="el" href="table__scan_8h_source.html">table_scan.h</a></li>
<li>iceberg/<b>table_scan.cc</b></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>