blob: 7f063ab94d7ffdad0b27ca8add4b37547300d30e [file]
<!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>Paimon-cpp: paimon::FileBatchReader 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 id="projectrow">
<td id="projectalign">
<div id="projectname">Paimon-cpp
</div>
<div id="projectbrief">A high-performance C++ implementation of Apache Paimon</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"><a class="el" href="namespacepaimon.html">paimon</a></li><li class="navelem"><a class="el" href="classpaimon_1_1_file_batch_reader.html">FileBatchReader</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classpaimon_1_1_file_batch_reader-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">paimon::FileBatchReader Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>The batch reader for a single file supports returning the line number of the last batch read for deletion vector judgment.
<a href="classpaimon_1_1_file_batch_reader.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="file__batch__reader_8h_source.html">/home/runner/work/paimon-cpp/paimon-cpp/include/paimon/reader/file_batch_reader.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for paimon::FileBatchReader:</div>
<div class="dyncontent">
<div class="center">
<img src="classpaimon_1_1_file_batch_reader.png" usemap="#paimon::FileBatchReader_map" alt=""/>
<map id="paimon::FileBatchReader_map" name="paimon::FileBatchReader_map">
<area href="classpaimon_1_1_batch_reader.html" title="A batch reader that supports reading batch data into an arrow array." alt="paimon::BatchReader" shape="rect" coords="0,0,200,24"/>
<area href="classpaimon_1_1_prefetch_file_batch_reader.html" title="The prefetch file batch reader extends the basic FileBatchReader interface for prefetch read,..." alt="paimon::PrefetchFileBatchReader" shape="rect" coords="0,112,200,136"/>
</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:ac7266064352ed90581738242cf69500f" id="r_ac7266064352ed90581738242cf69500f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; std::unique_ptr&lt;<a class="el" href="struct_arrow_schema.html">::ArrowSchema</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_file_batch_reader.html#ac7266064352ed90581738242cf69500f">GetFileSchema</a> () <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> =0</td></tr>
<tr class="separator:ac7266064352ed90581738242cf69500f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1b28c896a926c6496d03b9a5b55afb2" id="r_af1b28c896a926c6496d03b9a5b55afb2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_file_batch_reader.html#af1b28c896a926c6496d03b9a5b55afb2">SetReadSchema</a> (<a class="el" href="struct_arrow_schema.html">::ArrowSchema</a> *<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">read_schema</a>, <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr&lt; <a class="el" href="classpaimon_1_1_predicate.html">Predicate</a> &gt; &amp;predicate, <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::optional&lt; <a class="el" href="classpaimon_1_1_roaring_bitmap32.html">RoaringBitmap32</a> &gt; &amp;<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">selection_bitmap</a>)=0</td></tr>
<tr class="memdesc:af1b28c896a926c6496d03b9a5b55afb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the read schema and predicate. <br /></td></tr>
<tr class="separator:af1b28c896a926c6496d03b9a5b55afb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25b072ce59e14b7a18dda4ce9b71b843" id="r_a25b072ce59e14b7a18dda4ce9b71b843"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint64_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_file_batch_reader.html#a25b072ce59e14b7a18dda4ce9b71b843">GetPreviousBatchFirstRowNumber</a> () <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> =0</td></tr>
<tr class="memdesc:a25b072ce59e14b7a18dda4ce9b71b843"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the row number of the first row in the previously read batch. <br /></td></tr>
<tr class="separator:a25b072ce59e14b7a18dda4ce9b71b843"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ebc841f9c493d3ec18786626a876073" id="r_a8ebc841f9c493d3ec18786626a876073"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint64_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_file_batch_reader.html#a8ebc841f9c493d3ec18786626a876073">GetNumberOfRows</a> () <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> =0</td></tr>
<tr class="memdesc:a8ebc841f9c493d3ec18786626a876073"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of rows in the file. <br /></td></tr>
<tr class="separator:a8ebc841f9c493d3ec18786626a876073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5afd12bba8e497dfc95cba25a343ba3" id="r_ac5afd12bba8e497dfc95cba25a343ba3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_file_batch_reader.html#ac5afd12bba8e497dfc95cba25a343ba3">SupportPreciseBitmapSelection</a> () <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> =0</td></tr>
<tr class="memdesc:ac5afd12bba8e497dfc95cba25a343ba3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get whether or not support read precisely while bitmap pushed down. <br /></td></tr>
<tr class="separator:ac5afd12bba8e497dfc95cba25a343ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01358cb810bb14fcb26663d510c08fce" id="r_a01358cb810bb14fcb26663d510c08fce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; <a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_file_batch_reader.html#a01358cb810bb14fcb26663d510c08fce">NextBatch</a> ()=0</td></tr>
<tr class="memdesc:a01358cb810bb14fcb26663d510c08fce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the next batch of data. <br /></td></tr>
<tr class="separator:a01358cb810bb14fcb26663d510c08fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4b5062701224aeae83472380d02f434" id="r_ae4b5062701224aeae83472380d02f434"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; <a class="el" href="classpaimon_1_1_batch_reader.html#a4ee7cac856f2b254e171b12db7146246">ReadBatchWithBitmap</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_file_batch_reader.html#ae4b5062701224aeae83472380d02f434">NextBatchWithBitmap</a> ()</td></tr>
<tr class="memdesc:ae4b5062701224aeae83472380d02f434"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the next batch of data. <br /></td></tr>
<tr class="separator:ae4b5062701224aeae83472380d02f434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpaimon_1_1_batch_reader"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpaimon_1_1_batch_reader')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classpaimon_1_1_batch_reader.html">paimon::BatchReader</a></td></tr>
<tr class="memitem:a9741d92af7160375a51e1a497afcfa1a inherit pub_methods_classpaimon_1_1_batch_reader" id="r_a9741d92af7160375a51e1a497afcfa1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_batch_reader.html#a9741d92af7160375a51e1a497afcfa1a">~BatchReader</a> ()=<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">default</a></td></tr>
<tr class="separator:a9741d92af7160375a51e1a497afcfa1a inherit pub_methods_classpaimon_1_1_batch_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8af3a8346bbfc3de3da09840c70ac0ff inherit pub_methods_classpaimon_1_1_batch_reader" id="r_a8af3a8346bbfc3de3da09840c70ac0ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> std::shared_ptr&lt; <a class="el" href="classpaimon_1_1_metrics.html">Metrics</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_batch_reader.html#a8af3a8346bbfc3de3da09840c70ac0ff">GetReaderMetrics</a> () <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> =0</td></tr>
<tr class="memdesc:a8af3a8346bbfc3de3da09840c70ac0ff inherit pub_methods_classpaimon_1_1_batch_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the reader's metrics. <br /></td></tr>
<tr class="separator:a8af3a8346bbfc3de3da09840c70ac0ff inherit pub_methods_classpaimon_1_1_batch_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a167febf97b0e2ef4f48f034fe3af16b6 inherit pub_methods_classpaimon_1_1_batch_reader" id="r_a167febf97b0e2ef4f48f034fe3af16b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_batch_reader.html#a167febf97b0e2ef4f48f034fe3af16b6">Close</a> ()=0</td></tr>
<tr class="memdesc:a167febf97b0e2ef4f48f034fe3af16b6 inherit pub_methods_classpaimon_1_1_batch_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the <code><a class="el" href="classpaimon_1_1_batch_reader.html" title="A batch reader that supports reading batch data into an arrow array.">BatchReader</a></code>, releasing any associated resources. <br /></td></tr>
<tr class="separator:a167febf97b0e2ef4f48f034fe3af16b6 inherit pub_methods_classpaimon_1_1_batch_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classpaimon_1_1_batch_reader"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpaimon_1_1_batch_reader')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classpaimon_1_1_batch_reader.html">paimon::BatchReader</a></td></tr>
<tr class="memitem:a52a5b04ada9bf1da22f5d7e1784927b2 inherit pub_types_classpaimon_1_1_batch_reader" id="r_a52a5b04ada9bf1da22f5d7e1784927b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">using</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a> = std::pair&lt; std::unique_ptr&lt; <a class="el" href="struct_arrow_array.html">ArrowArray</a> &gt;, std::unique_ptr&lt; <a class="el" href="struct_arrow_schema.html">ArrowSchema</a> &gt; &gt;</td></tr>
<tr class="separator:a52a5b04ada9bf1da22f5d7e1784927b2 inherit pub_types_classpaimon_1_1_batch_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ee7cac856f2b254e171b12db7146246 inherit pub_types_classpaimon_1_1_batch_reader" id="r_a4ee7cac856f2b254e171b12db7146246"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">using</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_batch_reader.html#a4ee7cac856f2b254e171b12db7146246">ReadBatchWithBitmap</a> = std::pair&lt; <a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a>, <a class="el" href="classpaimon_1_1_roaring_bitmap32.html">RoaringBitmap32</a> &gt;</td></tr>
<tr class="separator:a4ee7cac856f2b254e171b12db7146246 inherit pub_types_classpaimon_1_1_batch_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classpaimon_1_1_batch_reader"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classpaimon_1_1_batch_reader')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classpaimon_1_1_batch_reader.html">paimon::BatchReader</a></td></tr>
<tr class="memitem:ac05becfb364d38b4a031f052bfc9cf14 inherit pub_static_methods_classpaimon_1_1_batch_reader" id="r_ac05becfb364d38b4a031f052bfc9cf14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">static</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_batch_reader.html#ac05becfb364d38b4a031f052bfc9cf14">IsEofBatch</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> <a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a> &amp;<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">batch</a>)</td></tr>
<tr class="memdesc:ac05becfb364d38b4a031f052bfc9cf14 inherit pub_static_methods_classpaimon_1_1_batch_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine whether a <code><a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a></code> or <code><a class="el" href="classpaimon_1_1_batch_reader.html#a4ee7cac856f2b254e171b12db7146246">ReadBatchWithBitmap</a></code> is eof batch, if return true, all the data has been returned. <br /></td></tr>
<tr class="separator:ac05becfb364d38b4a031f052bfc9cf14 inherit pub_static_methods_classpaimon_1_1_batch_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d21246481d9779eff506eaf8f1410fd inherit pub_static_methods_classpaimon_1_1_batch_reader" id="r_a4d21246481d9779eff506eaf8f1410fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">static</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_batch_reader.html#a4d21246481d9779eff506eaf8f1410fd">IsEofBatch</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> <a class="el" href="classpaimon_1_1_batch_reader.html#a4ee7cac856f2b254e171b12db7146246">ReadBatchWithBitmap</a> &amp;<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">batch_with_bitmap</a>)</td></tr>
<tr class="separator:a4d21246481d9779eff506eaf8f1410fd inherit pub_static_methods_classpaimon_1_1_batch_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00dea15698a3203dd058daf2a184a74e inherit pub_static_methods_classpaimon_1_1_batch_reader" id="r_a00dea15698a3203dd058daf2a184a74e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">static</a> <a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_batch_reader.html#a00dea15698a3203dd058daf2a184a74e">MakeEofBatch</a> ()</td></tr>
<tr class="memdesc:a00dea15698a3203dd058daf2a184a74e inherit pub_static_methods_classpaimon_1_1_batch_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make an eof batch or batch with bitmap. <br /></td></tr>
<tr class="separator:a00dea15698a3203dd058daf2a184a74e inherit pub_static_methods_classpaimon_1_1_batch_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81dd9677ebaf7b97ef898a51179e42c6 inherit pub_static_methods_classpaimon_1_1_batch_reader" id="r_a81dd9677ebaf7b97ef898a51179e42c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">static</a> <a class="el" href="classpaimon_1_1_batch_reader.html#a4ee7cac856f2b254e171b12db7146246">ReadBatchWithBitmap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_batch_reader.html#a81dd9677ebaf7b97ef898a51179e42c6">MakeEofBatchWithBitmap</a> ()</td></tr>
<tr class="separator:a81dd9677ebaf7b97ef898a51179e42c6 inherit pub_static_methods_classpaimon_1_1_batch_reader"><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>The batch reader for a single file supports returning the line number of the last batch read for deletion vector judgment. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ac7266064352ed90581738242cf69500f" name="ac7266064352ed90581738242cf69500f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7266064352ed90581738242cf69500f">&#9670;&#160;</a></span>GetFileSchema()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; std::unique_ptr&lt;<a class="el" href="struct_arrow_schema.html">::ArrowSchema</a> &gt; &gt; paimon::FileBatchReader::GetFileSchema </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The schema of the file. </dd></dl>
</div>
</div>
<a id="af1b28c896a926c6496d03b9a5b55afb2" name="af1b28c896a926c6496d03b9a5b55afb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1b28c896a926c6496d03b9a5b55afb2">&#9670;&#160;</a></span>SetReadSchema()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_status.html">Status</a> paimon::FileBatchReader::SetReadSchema </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_arrow_schema.html">::ArrowSchema</a> *&#160;</td>
<td class="paramname"><em>read_schema</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr&lt; <a class="el" href="classpaimon_1_1_predicate.html">Predicate</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>predicate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::optional&lt; <a class="el" href="classpaimon_1_1_roaring_bitmap32.html">RoaringBitmap32</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>selection_bitmap</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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets the read schema and predicate. </p>
<p>If <code><a class="el" href="classpaimon_1_1_file_batch_reader.html#af1b28c896a926c6496d03b9a5b55afb2" title="Resets the read schema and predicate.">SetReadSchema()</a></code> is not called, <code><a class="el" href="classpaimon_1_1_file_batch_reader.html#a01358cb810bb14fcb26663d510c08fce" title="Retrieves the next batch of data.">NextBatch()</a></code> will return data with the file schema. After resetting the read schema, <code><a class="el" href="classpaimon_1_1_file_batch_reader.html#a01358cb810bb14fcb26663d510c08fce" title="Retrieves the next batch of data.">NextBatch()</a></code> will read data starting from the first row.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">read_schema</td><td>The schema to set for reading. </td></tr>
<tr><td class="paramname">predicate</td><td>The predicate to apply for filtering data. </td></tr>
<tr><td class="paramname">selection_bitmap</td><td>The bitmap to apply for filtering data. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The status of the operation. </dd></dl>
</div>
</div>
<a id="a25b072ce59e14b7a18dda4ce9b71b843" name="a25b072ce59e14b7a18dda4ce9b71b843"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25b072ce59e14b7a18dda4ce9b71b843">&#9670;&#160;</a></span>GetPreviousBatchFirstRowNumber()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint64_t</a> &gt; paimon::FileBatchReader::GetPreviousBatchFirstRowNumber </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the row number of the first row in the previously read batch. </p>
</div>
</div>
<a id="a8ebc841f9c493d3ec18786626a876073" name="a8ebc841f9c493d3ec18786626a876073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ebc841f9c493d3ec18786626a876073">&#9670;&#160;</a></span>GetNumberOfRows()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint64_t</a> &gt; paimon::FileBatchReader::GetNumberOfRows </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the number of rows in the file. </p>
</div>
</div>
<a id="ac5afd12bba8e497dfc95cba25a343ba3" name="ac5afd12bba8e497dfc95cba25a343ba3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5afd12bba8e497dfc95cba25a343ba3">&#9670;&#160;</a></span>SupportPreciseBitmapSelection()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> paimon::FileBatchReader::SupportPreciseBitmapSelection </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get whether or not support read precisely while bitmap pushed down. </p>
</div>
</div>
<a id="a01358cb810bb14fcb26663d510c08fce" name="a01358cb810bb14fcb26663d510c08fce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01358cb810bb14fcb26663d510c08fce">&#9670;&#160;</a></span>NextBatch()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; <a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a> &gt; paimon::BatchReader::NextBatch </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the next batch of data. </p>
<p>If EOF is reached, returns an OK status with a nullptr array. Returns an error status only for critical failures (e.g., IO errors). Once an error is returned, this method must not be retried, as it will repeatedly return the same error code.</p>
<dl class="section return"><dt>Returns</dt><dd>A result containing a <code><a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a></code>, which consists of a unique pointer to <code><a class="el" href="struct_arrow_array.html">ArrowArray</a></code> and a unique pointer to <code><a class="el" href="struct_arrow_schema.html">ArrowSchema</a></code>. Returned array contains a <code>_VALUE_KIND</code> field (the first field) to indicate the row kind of each row. Deleted or index-filtered rows are removed. </dd></dl>
<p>Implements <a class="el" href="classpaimon_1_1_batch_reader.html#a01358cb810bb14fcb26663d510c08fce">paimon::BatchReader</a>.</p>
</div>
</div>
<a id="ae4b5062701224aeae83472380d02f434" name="ae4b5062701224aeae83472380d02f434"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4b5062701224aeae83472380d02f434">&#9670;&#160;</a></span>NextBatchWithBitmap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">virtual</a> <a class="el" href="classpaimon_1_1_result.html">Result</a>&lt; <a class="el" href="classpaimon_1_1_batch_reader.html#a4ee7cac856f2b254e171b12db7146246">ReadBatchWithBitmap</a> &gt; paimon::BatchReader::NextBatchWithBitmap </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the next batch of data. </p>
<p>If EOF is reached, returns an OK status with a nullptr array. Returns an error status only for critical failures (e.g., IO errors). Once an error is returned, this method must not be retried, as it will repeatedly return the same error code.</p>
<dl class="section return"><dt>Returns</dt><dd>A result containing a <code><a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a></code> and a valid bitmap. <code><a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a></code> consists of a unique pointer to <code><a class="el" href="struct_arrow_array.html">ArrowArray</a></code> and a unique pointer to <code><a class="el" href="struct_arrow_schema.html">ArrowSchema</a></code>. Returned array contains a _VALUE_KIND field (the first field) to indicate the row kind of each row. Deleted or index-filtered records maybe maintained in <code><a class="el" href="classpaimon_1_1_batch_reader.html#a52a5b04ada9bf1da22f5d7e1784927b2">ReadBatch</a></code>, while bitmap indicates valid row id. If deletion vector or index are enabled, this function is more efficient than <code><a class="el" href="classpaimon_1_1_file_batch_reader.html#a01358cb810bb14fcb26663d510c08fce" title="Retrieves the next batch of data.">NextBatch()</a></code>. The default implementation calls <code><a class="el" href="classpaimon_1_1_file_batch_reader.html#a01358cb810bb14fcb26663d510c08fce" title="Retrieves the next batch of data.">NextBatch()</a></code> and adds all rows to valid bitmap. Noted that the returned bitmap has at least one valid row id. </dd></dl>
<p>Reimplemented from <a class="el" href="classpaimon_1_1_batch_reader.html#ae4b5062701224aeae83472380d02f434">paimon::BatchReader</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/runner/work/paimon-cpp/paimon-cpp/include/paimon/reader/<a class="el" href="file__batch__reader_8h_source.html">file_batch_reader.h</a></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>