blob: 4ffabfdc0f2574e34b2b2b9e3130ca14921e6544 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>TableScan</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TableScan";
}
}
catch(err) {
}
//-->
var data = {"i0":50,"i1":50,"i2":6,"i3":6,"i4":6,"i5":18,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.iceberg</a></div>
<h2 title="Interface TableScan" class="title">Interface TableScan</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;<a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a>,&#8203;<a href="FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>,&#8203;<a href="CombinedScanTask.html" title="interface in org.apache.iceberg">CombinedScanTask</a>&gt;</code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="AllDataFilesTable.AllDataFilesTableScan.html" title="class in org.apache.iceberg">AllDataFilesTable.AllDataFilesTableScan</a></code>, <code><a href="AllDeleteFilesTable.AllDeleteFilesTableScan.html" title="class in org.apache.iceberg">AllDeleteFilesTable.AllDeleteFilesTableScan</a></code>, <code><a href="AllFilesTable.AllFilesTableScan.html" title="class in org.apache.iceberg">AllFilesTable.AllFilesTableScan</a></code>, <code><a href="AllManifestsTable.AllManifestsTableScan.html" title="class in org.apache.iceberg">AllManifestsTable.AllManifestsTableScan</a></code>, <code><a href="DataFilesTable.DataFilesTableScan.html" title="class in org.apache.iceberg">DataFilesTable.DataFilesTableScan</a></code>, <code><a href="DataTableScan.html" title="class in org.apache.iceberg">DataTableScan</a></code>, <code><a href="DeleteFilesTable.DeleteFilesTableScan.html" title="class in org.apache.iceberg">DeleteFilesTable.DeleteFilesTableScan</a></code>, <code><a href="FilesTable.FilesTableScan.html" title="class in org.apache.iceberg">FilesTable.FilesTableScan</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">TableScan</span>
extends <a href="Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;<a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a>,&#8203;<a href="FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>,&#8203;<a href="CombinedScanTask.html" title="interface in org.apache.iceberg">CombinedScanTask</a>&gt;</pre>
<div class="block">API for configuring a table scan.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>default <a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#appendsAfter(long)">appendsAfter</a></span>&#8203;(long&nbsp;fromSnapshotId)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.0.0, will be removed in 2.0.0; use <a href="Table.html#newIncrementalAppendScan()"><code>Table.newIncrementalAppendScan()</code></a>
instead.</div>
</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default <a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#appendsBetween(long,long)">appendsBetween</a></span>&#8203;(long&nbsp;fromSnapshotId,
long&nbsp;toSnapshotId)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.0.0, will be removed in 2.0.0; use <a href="Table.html#newIncrementalAppendScan()"><code>Table.newIncrementalAppendScan()</code></a>
instead.</div>
</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#asOfTime(long)">asOfTime</a></span>&#8203;(long&nbsp;timestampMillis)</code></th>
<td class="colLast">
<div class="block">Create a new <a href="TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will 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.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#snapshot()">snapshot</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <a href="Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> that will be used by this scan.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#table()">table</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <a href="Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> from which this scan loads data.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>default <a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#useRef(java.lang.String)">useRef</a></span>&#8203;(java.lang.String&nbsp;ref)</code></th>
<td class="colLast">
<div class="block">Create a new <a href="TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given
reference.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#useSnapshot(long)">useSnapshot</a></span>&#8203;(long&nbsp;snapshotId)</code></th>
<td class="colLast">
<div class="block">Create a new <a href="TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given snapshot
by ID.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.Scan">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
<code><a href="Scan.html#caseSensitive(boolean)">caseSensitive</a>, <a href="Scan.html#filter()">filter</a>, <a href="Scan.html#filter(org.apache.iceberg.expressions.Expression)">filter</a>, <a href="Scan.html#ignoreResiduals()">ignoreResiduals</a>, <a href="Scan.html#includeColumnStats()">includeColumnStats</a>, <a href="Scan.html#isCaseSensitive()">isCaseSensitive</a>, <a href="Scan.html#metricsReporter(org.apache.iceberg.metrics.MetricsReporter)">metricsReporter</a>, <a href="Scan.html#option(java.lang.String,java.lang.String)">option</a>, <a href="Scan.html#planFiles()">planFiles</a>, <a href="Scan.html#planTasks()">planTasks</a>, <a href="Scan.html#planWith(java.util.concurrent.ExecutorService)">planWith</a>, <a href="Scan.html#project(org.apache.iceberg.Schema)">project</a>, <a href="Scan.html#schema()">schema</a>, <a href="Scan.html#select(java.lang.String...)">select</a>, <a href="Scan.html#select(java.util.Collection)">select</a>, <a href="Scan.html#splitLookback()">splitLookback</a>, <a href="Scan.html#splitOpenFileCost()">splitOpenFileCost</a>, <a href="Scan.html#targetSplitSize()">targetSplitSize</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="table()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>table</h4>
<pre class="methodSignature"><a href="Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table()</pre>
<div class="block">Returns the <a href="Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> from which this scan loads data.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this scan's table</dd>
</dl>
</li>
</ul>
<a id="useSnapshot(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useSnapshot</h4>
<pre class="methodSignature"><a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a>&nbsp;useSnapshot&#8203;(long&nbsp;snapshotId)</pre>
<div class="block">Create a new <a href="TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given snapshot
by ID.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>snapshotId</code> - a snapshot ID</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this with the given snapshot ID</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the snapshot cannot be found</dd>
</dl>
</li>
</ul>
<a id="useRef(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useRef</h4>
<pre class="methodSignature">default&nbsp;<a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a>&nbsp;useRef&#8203;(java.lang.String&nbsp;ref)</pre>
<div class="block">Create a new <a href="TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given
reference.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ref</code> - reference</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on the given reference.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if a reference with the given name could not be found</dd>
</dl>
</li>
</ul>
<a id="asOfTime(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asOfTime</h4>
<pre class="methodSignature"><a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a>&nbsp;asOfTime&#8203;(long&nbsp;timestampMillis)</pre>
<div class="block">Create a new <a href="TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will 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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timestampMillis</code> - a timestamp in milliseconds.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this with the current snapshot at the given time</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the snapshot cannot be found or time travel is attempted on
a tag</dd>
</dl>
</li>
</ul>
<a id="appendsBetween(long,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendsBetween</h4>
<pre class="methodSignature">@Deprecated
default&nbsp;<a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a>&nbsp;appendsBetween&#8203;(long&nbsp;fromSnapshotId,
long&nbsp;toSnapshotId)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.0.0, will be removed in 2.0.0; use <a href="Table.html#newIncrementalAppendScan()"><code>Table.newIncrementalAppendScan()</code></a>
instead.</div>
</div>
<div class="block">Create a new <a href="TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> to read appended data from <code>fromSnapshotId</code> exclusive to
<code>toSnapshotId</code> inclusive.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fromSnapshotId</code> - the last snapshot id read by the user, exclusive</dd>
<dd><code>toSnapshotId</code> - read append data up to this snapshot id</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a table scan which can read append data from <code>fromSnapshotId</code> exclusive and up to
<code>toSnapshotId</code> inclusive</dd>
</dl>
</li>
</ul>
<a id="appendsAfter(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendsAfter</h4>
<pre class="methodSignature">@Deprecated
default&nbsp;<a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a>&nbsp;appendsAfter&#8203;(long&nbsp;fromSnapshotId)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.0.0, will be removed in 2.0.0; use <a href="Table.html#newIncrementalAppendScan()"><code>Table.newIncrementalAppendScan()</code></a>
instead.</div>
</div>
<div class="block">Create a new <a href="TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> to read appended data from <code>fromSnapshotId</code> exclusive to
the current snapshot inclusive.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fromSnapshotId</code> - - the last snapshot id read by the user, exclusive</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a table scan which can read append data from <code>fromSnapshotId</code> exclusive and up to
current snapshot inclusive</dd>
</dl>
</li>
</ul>
<a id="snapshot()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>snapshot</h4>
<pre class="methodSignature"><a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot()</pre>
<div class="block">Returns the <a href="Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> that will be used by this scan.
<p>If the snapshot was not configured using <a href="#asOfTime(long)"><code>asOfTime(long)</code></a> or <a href="#useSnapshot(long)"><code>useSnapshot(long)</code></a>, the current table snapshot will be used.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Snapshot this scan will use</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>