| <!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::ReadContextBuilder 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&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&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_read_context_builder.html">ReadContextBuilder</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pri-attribs">Private Attributes</a> | |
| <a href="classpaimon_1_1_read_context_builder-members.html">List of all members</a> </div> |
| <div class="headertitle"><div class="title">paimon::ReadContextBuilder Class Reference</div></div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p><code><a class="el" href="classpaimon_1_1_read_context_builder.html" title="ReadContextBuilder used to build a ReadContext, has input validation.">ReadContextBuilder</a></code> used to build a <code><a class="el" href="classpaimon_1_1_read_context.html" title="ReadContext is some configuration for read operations.">ReadContext</a></code>, has input validation. |
| <a href="classpaimon_1_1_read_context_builder.html#details">More...</a></p> |
| |
| <p><code>#include <<a class="el" href="read__context_8h_source.html">/home/runner/work/paimon-cpp/paimon-cpp/include/paimon/read_context.h</a>></code></p> |
| <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:a4e36cce9a1da99af61afb2283804128f" id="r_a4e36cce9a1da99af61afb2283804128f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a4e36cce9a1da99af61afb2283804128f">ReadContextBuilder</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::string &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">path</a>)</td></tr> |
| <tr class="memdesc:a4e36cce9a1da99af61afb2283804128f"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a <code><a class="el" href="classpaimon_1_1_read_context_builder.html" title="ReadContextBuilder used to build a ReadContext, has input validation.">ReadContextBuilder</a></code> with required parameters. <br /></td></tr> |
| <tr class="separator:a4e36cce9a1da99af61afb2283804128f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab2df9112180f6a2e2216ab9a2efc876e" id="r_ab2df9112180f6a2e2216ab9a2efc876e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#ab2df9112180f6a2e2216ab9a2efc876e">~ReadContextBuilder</a> ()</td></tr> |
| <tr class="separator:ab2df9112180f6a2e2216ab9a2efc876e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a06fd2e446a1ce516d7b13f52ab3e29a2" id="r_a06fd2e446a1ce516d7b13f52ab3e29a2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a06fd2e446a1ce516d7b13f52ab3e29a2">ReadContextBuilder</a> (<a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> &&) <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">noexcept</a></td></tr> |
| <tr class="separator:a06fd2e446a1ce516d7b13f52ab3e29a2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2925ca4ec784ce7e78ad0ff3f08535d7" id="r_a2925ca4ec784ce7e78ad0ff3f08535d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a2925ca4ec784ce7e78ad0ff3f08535d7">operator=</a> (<a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> &&) <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">noexcept</a></td></tr> |
| <tr class="separator:a2925ca4ec784ce7e78ad0ff3f08535d7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae223ca8ef8083e4f22a404163b2bfce4" id="r_ae223ca8ef8083e4f22a404163b2bfce4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#ae223ca8ef8083e4f22a404163b2bfce4">SetReadFieldNames</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::vector< std::string > &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">read_field_names</a>)</td></tr> |
| <tr class="memdesc:ae223ca8ef8083e4f22a404163b2bfce4"><td class="mdescLeft"> </td><td class="mdescRight">Set the schema fields to read from the table. <br /></td></tr> |
| <tr class="separator:ae223ca8ef8083e4f22a404163b2bfce4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a13e652d39f99bd80ffa2b10af2b29245" id="r_a13e652d39f99bd80ffa2b10af2b29245"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a13e652d39f99bd80ffa2b10af2b29245">SetReadFieldIds</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::vector< <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">int32_t</a> > &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">read_field_ids</a>)</td></tr> |
| <tr class="memdesc:a13e652d39f99bd80ffa2b10af2b29245"><td class="mdescLeft"> </td><td class="mdescRight">Set the schema fields to read from the table. <br /></td></tr> |
| <tr class="separator:a13e652d39f99bd80ffa2b10af2b29245"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2a665df8a4b9252578ddfebf6e698a3a" id="r_a2a665df8a4b9252578ddfebf6e698a3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a2a665df8a4b9252578ddfebf6e698a3a">SetReadSchema</a> (std::unique_ptr< <a class="el" href="struct_arrow_schema.html">ArrowSchema</a> > read_schema)</td></tr> |
| <tr class="memdesc:a2a665df8a4b9252578ddfebf6e698a3a"><td class="mdescLeft"> </td><td class="mdescRight">Set the read Arrow <a class="el" href="classpaimon_1_1_schema.html" title="This interface provides access to TableSchema-related information.">Schema</a> for nested column pruning. <br /></td></tr> |
| <tr class="separator:a2a665df8a4b9252578ddfebf6e698a3a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a19370226e886d90bfb4b2146e769cff6" id="r_a19370226e886d90bfb4b2146e769cff6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a19370226e886d90bfb4b2146e769cff6">SetOptions</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::map< std::string, std::string > &options)</td></tr> |
| <tr class="memdesc:a19370226e886d90bfb4b2146e769cff6"><td class="mdescLeft"> </td><td class="mdescRight">Set a configuration options map to set some option entries which are not defined in the table schema or whose values you want to overwrite. <br /></td></tr> |
| <tr class="separator:a19370226e886d90bfb4b2146e769cff6"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a19a1a07f17d04342f0a3e31faedf4d04" id="r_a19a1a07f17d04342f0a3e31faedf4d04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a19a1a07f17d04342f0a3e31faedf4d04">AddOption</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::string &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">key</a>, <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::string &value)</td></tr> |
| <tr class="memdesc:a19a1a07f17d04342f0a3e31faedf4d04"><td class="mdescLeft"> </td><td class="mdescRight">Add a single configuration option which is not defined in the table schema or whose value you want to overwrite. <br /></td></tr> |
| <tr class="separator:a19a1a07f17d04342f0a3e31faedf4d04"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a58b67acbb681a859634c7d017bfc2551" id="r_a58b67acbb681a859634c7d017bfc2551"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a58b67acbb681a859634c7d017bfc2551">SetPredicate</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_predicate.html">Predicate</a> > &predicate)</td></tr> |
| <tr class="memdesc:a58b67acbb681a859634c7d017bfc2551"><td class="mdescLeft"> </td><td class="mdescRight">Set a predicate for filtering data during reading. <br /></td></tr> |
| <tr class="separator:a58b67acbb681a859634c7d017bfc2551"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af48c4f27fd8e263b51f13f9c2badf167" id="r_af48c4f27fd8e263b51f13f9c2badf167"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#af48c4f27fd8e263b51f13f9c2badf167">EnablePredicateFilter</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">enabled</a>)</td></tr> |
| <tr class="memdesc:af48c4f27fd8e263b51f13f9c2badf167"><td class="mdescLeft"> </td><td class="mdescRight">Whether to perform precise filtering according to predicates for data read from format reader. <br /></td></tr> |
| <tr class="separator:af48c4f27fd8e263b51f13f9c2badf167"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a72ae2dddf806f6ac9b715e282e0dce8b" id="r_a72ae2dddf806f6ac9b715e282e0dce8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a72ae2dddf806f6ac9b715e282e0dce8b">EnablePrefetch</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">enabled</a>)</td></tr> |
| <tr class="memdesc:a72ae2dddf806f6ac9b715e282e0dce8b"><td class="mdescLeft"> </td><td class="mdescRight">Enable or disable prefetching of data batches from individual files. <br /></td></tr> |
| <tr class="separator:a72ae2dddf806f6ac9b715e282e0dce8b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a23f0bffb2be1e1a24cfd13e415b35eb4" id="r_a23f0bffb2be1e1a24cfd13e415b35eb4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a23f0bffb2be1e1a24cfd13e415b35eb4">EnableLateMaterializing</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">enabled</a>)</td></tr> |
| <tr class="memdesc:a23f0bffb2be1e1a24cfd13e415b35eb4"><td class="mdescLeft"> </td><td class="mdescRight">Enable or disable late materialization (probe/payload two-phase reads). <br /></td></tr> |
| <tr class="separator:a23f0bffb2be1e1a24cfd13e415b35eb4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a77b7e99dd1d6d5cd255c80ffbf716807" id="r_a77b7e99dd1d6d5cd255c80ffbf716807"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a77b7e99dd1d6d5cd255c80ffbf716807">SetReadAheadCacheEnabled</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">enabled</a>)</td></tr> |
| <tr class="memdesc:a77b7e99dd1d6d5cd255c80ffbf716807"><td class="mdescLeft"> </td><td class="mdescRight">Enable or disable the read-ahead cache for read operations. <br /></td></tr> |
| <tr class="separator:a77b7e99dd1d6d5cd255c80ffbf716807"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a60637f1be393cdb39ab43cfff979d53f" id="r_a60637f1be393cdb39ab43cfff979d53f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a60637f1be393cdb39ab43cfff979d53f">WithCacheConfig</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> <a class="el" href="classpaimon_1_1_cache_config.html">CacheConfig</a> &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">config</a>)</td></tr> |
| <tr class="memdesc:a60637f1be393cdb39ab43cfff979d53f"><td class="mdescLeft"> </td><td class="mdescRight">Set the cache configuration for prefetch read operations. <br /></td></tr> |
| <tr class="separator:a60637f1be393cdb39ab43cfff979d53f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a83ced5a0fc3709b3dce8cda137825340" id="r_a83ced5a0fc3709b3dce8cda137825340"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a83ced5a0fc3709b3dce8cda137825340">SetPrefetchBatchCount</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint32_t</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">batch_count</a>)</td></tr> |
| <tr class="memdesc:a83ced5a0fc3709b3dce8cda137825340"><td class="mdescLeft"> </td><td class="mdescRight">Set the total number of batches to prefetch across all files. <br /></td></tr> |
| <tr class="separator:a83ced5a0fc3709b3dce8cda137825340"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac13b0e6cbeae7bea3c5f66b50331e57b" id="r_ac13b0e6cbeae7bea3c5f66b50331e57b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#ac13b0e6cbeae7bea3c5f66b50331e57b">SetPrefetchMaxParallelNum</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint32_t</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">parallel_num</a>)</td></tr> |
| <tr class="memdesc:ac13b0e6cbeae7bea3c5f66b50331e57b"><td class="mdescLeft"> </td><td class="mdescRight">Set the maximum number of parallel prefetch operations. <br /></td></tr> |
| <tr class="separator:ac13b0e6cbeae7bea3c5f66b50331e57b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa1d3965c3097b420ebb61eb8871a1029" id="r_aa1d3965c3097b420ebb61eb8871a1029"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#aa1d3965c3097b420ebb61eb8871a1029">EnableMultiThreadRowToBatch</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">enabled</a>)</td></tr> |
| <tr class="memdesc:aa1d3965c3097b420ebb61eb8871a1029"><td class="mdescLeft"> </td><td class="mdescRight">Enable or disable multi-threaded row-to-batch conversion in merge-on-read scenarios. <br /></td></tr> |
| <tr class="separator:aa1d3965c3097b420ebb61eb8871a1029"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa1babef236e8c932d8cfe3ebfb0d07c3" id="r_aa1babef236e8c932d8cfe3ebfb0d07c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#aa1babef236e8c932d8cfe3ebfb0d07c3">SetRowToBatchThreadNumber</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint32_t</a> <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">thread_number</a>)</td></tr> |
| <tr class="memdesc:aa1babef236e8c932d8cfe3ebfb0d07c3"><td class="mdescLeft"> </td><td class="mdescRight">Set the number of threads for row-to-batch conversion in merge-on-read scenarios. <br /></td></tr> |
| <tr class="separator:aa1babef236e8c932d8cfe3ebfb0d07c3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a23ca35125be67f60a8b74ea69bdeaa72" id="r_a23ca35125be67f60a8b74ea69bdeaa72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a23ca35125be67f60a8b74ea69bdeaa72">WithMemoryPool</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_memory_pool.html">MemoryPool</a> > &memory_pool)</td></tr> |
| <tr class="memdesc:a23ca35125be67f60a8b74ea69bdeaa72"><td class="mdescLeft"> </td><td class="mdescRight">Set custom memory pool for memory management. <br /></td></tr> |
| <tr class="separator:a23ca35125be67f60a8b74ea69bdeaa72"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2a4a37fe0d1985877ea97b6f653a7ded" id="r_a2a4a37fe0d1985877ea97b6f653a7ded"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a2a4a37fe0d1985877ea97b6f653a7ded">WithExecutor</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_executor.html">Executor</a> > &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">executor</a>)</td></tr> |
| <tr class="memdesc:a2a4a37fe0d1985877ea97b6f653a7ded"><td class="mdescLeft"> </td><td class="mdescRight">Set custom executor for task execution. <br /></td></tr> |
| <tr class="separator:a2a4a37fe0d1985877ea97b6f653a7ded"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a081ba74623d7a6a85a15309b326b300e" id="r_a081ba74623d7a6a85a15309b326b300e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a081ba74623d7a6a85a15309b326b300e">WithRealtimeContext</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_realtime_context.html">RealtimeContext</a> > &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">realtime_context</a>)</td></tr> |
| <tr class="memdesc:a081ba74623d7a6a85a15309b326b300e"><td class="mdescLeft"> </td><td class="mdescRight">Sets the shared context used to resolve process-local real-time split tickets. <br /></td></tr> |
| <tr class="separator:a081ba74623d7a6a85a15309b326b300e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2207f97601909364651cf498d8a7ca7b" id="r_a2207f97601909364651cf498d8a7ca7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a2207f97601909364651cf498d8a7ca7b">SetTableSchema</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::string &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">table_schema</a>)</td></tr> |
| <tr class="memdesc:a2207f97601909364651cf498d8a7ca7b"><td class="mdescLeft"> </td><td class="mdescRight">Set the table schema as a string to avoid schema loading I/O operations. <br /></td></tr> |
| <tr class="separator:a2207f97601909364651cf498d8a7ca7b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac9370c5ed4080773bdfd707f27d8a758" id="r_ac9370c5ed4080773bdfd707f27d8a758"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#ac9370c5ed4080773bdfd707f27d8a758">WithBranch</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::string &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">branch</a>)</td></tr> |
| <tr class="memdesc:ac9370c5ed4080773bdfd707f27d8a758"><td class="mdescLeft"> </td><td class="mdescRight">Set the specific branch to read from in a versioned table. <br /></td></tr> |
| <tr class="separator:ac9370c5ed4080773bdfd707f27d8a758"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a251413e5eb4909c235f157bce73cf5b4" id="r_a251413e5eb4909c235f157bce73cf5b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a251413e5eb4909c235f157bce73cf5b4">WithFileSystemSchemeToIdentifierMap</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::map< std::string, std::string > &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">fs_scheme_to_identifier_map</a>)</td></tr> |
| <tr class="memdesc:a251413e5eb4909c235f157bce73cf5b4"><td class="mdescLeft"> </td><td class="mdescRight">Sets a mapping from URI schemes (e.g., "file", "oss") to registered file system identifiers. <br /></td></tr> |
| <tr class="separator:a251413e5eb4909c235f157bce73cf5b4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6ff02f27a5346cd2f4fd7026bee9a47b" id="r_a6ff02f27a5346cd2f4fd7026bee9a47b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a6ff02f27a5346cd2f4fd7026bee9a47b">WithFileSystem</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_file_system.html">FileSystem</a> > &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">file_system</a>)</td></tr> |
| <tr class="memdesc:a6ff02f27a5346cd2f4fd7026bee9a47b"><td class="mdescLeft"> </td><td class="mdescRight">Sets a custom file system instance to be used for all file operations in this read context. <br /></td></tr> |
| <tr class="separator:a6ff02f27a5346cd2f4fd7026bee9a47b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9971fd9cd037d1eb34d476dd406176b7" id="r_a9971fd9cd037d1eb34d476dd406176b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#a9971fd9cd037d1eb34d476dd406176b7">WithCache</a> (<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_cache.html">Cache</a> > &<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">cache</a>)</td></tr> |
| <tr class="memdesc:a9971fd9cd037d1eb34d476dd406176b7"><td class="mdescLeft"> </td><td class="mdescRight">Inject a cache for read operations. <br /></td></tr> |
| <tr class="separator:a9971fd9cd037d1eb34d476dd406176b7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab2d9a3bf13203069492ddd73961555c1" id="r_ab2d9a3bf13203069492ddd73961555c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpaimon_1_1_result.html">Result</a>< std::unique_ptr< <a class="el" href="classpaimon_1_1_read_context.html">ReadContext</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#ab2d9a3bf13203069492ddd73961555c1">Finish</a> ()</td></tr> |
| <tr class="memdesc:ab2d9a3bf13203069492ddd73961555c1"><td class="mdescLeft"> </td><td class="mdescRight">Build and return a <code><a class="el" href="classpaimon_1_1_read_context.html" title="ReadContext is some configuration for read operations.">ReadContext</a></code> instance with input validation. <br /></td></tr> |
| <tr class="separator:ab2d9a3bf13203069492ddd73961555c1"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a> |
| Private Attributes</h2></td></tr> |
| <tr class="memitem:adf01c36be5deb1ef71dc097225dfb5d4" id="r_adf01c36be5deb1ef71dc097225dfb5d4"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">Impl</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpaimon_1_1_read_context_builder.html#adf01c36be5deb1ef71dc097225dfb5d4">impl_</a></td></tr> |
| <tr class="separator:adf01c36be5deb1ef71dc097225dfb5d4"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p><code><a class="el" href="classpaimon_1_1_read_context_builder.html" title="ReadContextBuilder used to build a ReadContext, has input validation.">ReadContextBuilder</a></code> used to build a <code><a class="el" href="classpaimon_1_1_read_context.html" title="ReadContext is some configuration for read operations.">ReadContext</a></code>, has input validation. </p> |
| </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a id="a4e36cce9a1da99af61afb2283804128f" name="a4e36cce9a1da99af61afb2283804128f"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a4e36cce9a1da99af61afb2283804128f">◆ </a></span>ReadContextBuilder() <span class="overload">[1/2]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">paimon::ReadContextBuilder::ReadContextBuilder </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::string & </td> |
| <td class="paramname"><em>path</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">explicit</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Constructs a <code><a class="el" href="classpaimon_1_1_read_context_builder.html" title="ReadContextBuilder used to build a ReadContext, has input validation.">ReadContextBuilder</a></code> with required parameters. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">path</td><td>The root path of the table. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ab2df9112180f6a2e2216ab9a2efc876e" name="ab2df9112180f6a2e2216ab9a2efc876e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab2df9112180f6a2e2216ab9a2efc876e">◆ </a></span>~ReadContextBuilder()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">paimon::ReadContextBuilder::~ReadContextBuilder </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <a id="a06fd2e446a1ce516d7b13f52ab3e29a2" name="a06fd2e446a1ce516d7b13f52ab3e29a2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a06fd2e446a1ce516d7b13f52ab3e29a2">◆ </a></span>ReadContextBuilder() <span class="overload">[2/2]</span></h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">paimon::ReadContextBuilder::ReadContextBuilder </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> && </td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a id="a2925ca4ec784ce7e78ad0ff3f08535d7" name="a2925ca4ec784ce7e78ad0ff3f08535d7"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a2925ca4ec784ce7e78ad0ff3f08535d7">◆ </a></span>operator=()</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="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::operator= </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> && </td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">noexcept</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <a id="ae223ca8ef8083e4f22a404163b2bfce4" name="ae223ca8ef8083e4f22a404163b2bfce4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ae223ca8ef8083e4f22a404163b2bfce4">◆ </a></span>SetReadFieldNames()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetReadFieldNames </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::vector< std::string > & </td> |
| <td class="paramname"><em>read_field_names</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set the schema fields to read from the table. </p> |
| <p>If not set, all fields from the table schema will be read. This is useful for projection pushdown to reduce I/O and improve performance by reading only the required columns.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">read_field_names</td><td>Vector of field names to read from the table. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>Currently supports top-level field selection. For nested field selection use <a class="el" href="classpaimon_1_1_read_context_builder.html#a2a665df8a4b9252578ddfebf6e698a3a" title="Set the read Arrow Schema for nested column pruning.">SetReadSchema(std::unique_ptr<ArrowSchema>)</a> instead. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a13e652d39f99bd80ffa2b10af2b29245" name="a13e652d39f99bd80ffa2b10af2b29245"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a13e652d39f99bd80ffa2b10af2b29245">◆ </a></span>SetReadFieldIds()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetReadFieldIds </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::vector< <a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">int32_t</a> > & </td> |
| <td class="paramname"><em>read_field_ids</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set the schema fields to read from the table. </p> |
| <p>If not set, all fields from the table schema will be read. This is useful for projection pushdown to reduce I/O and improve performance by reading only the required columns.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">read_field_ids</td><td>Vector of field ids to read from the table. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>Currently supports top-level field selection. </dd> |
| <dd> |
| <a class="el" href="classpaimon_1_1_read_context_builder.html#a13e652d39f99bd80ffa2b10af2b29245" title="Set the schema fields to read from the table.">SetReadFieldIds()</a> and <a class="el" href="classpaimon_1_1_read_context_builder.html#ae223ca8ef8083e4f22a404163b2bfce4" title="Set the schema fields to read from the table.">SetReadFieldNames()</a> are mutually exclusive. Calling both will ignore the read schema set by <a class="el" href="classpaimon_1_1_read_context_builder.html#ae223ca8ef8083e4f22a404163b2bfce4" title="Set the schema fields to read from the table.">SetReadFieldNames()</a>. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a2a665df8a4b9252578ddfebf6e698a3a" name="a2a665df8a4b9252578ddfebf6e698a3a"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a2a665df8a4b9252578ddfebf6e698a3a">◆ </a></span>SetReadSchema()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetReadSchema </td> |
| <td>(</td> |
| <td class="paramtype">std::unique_ptr< <a class="el" href="struct_arrow_schema.html">ArrowSchema</a> > </td> |
| <td class="paramname"><em>read_schema</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set the read Arrow <a class="el" href="classpaimon_1_1_schema.html" title="This interface provides access to TableSchema-related information.">Schema</a> for nested column pruning. </p> |
| <p>The read schema is an Arrow C Data Interface schema where STRUCT types may contain only a subset of the original sub-fields, enabling nested column pruning to reduce I/O. Field matching is based on field name: the system looks up each field by name in the table schema and rebuilds the aligned schema using the table schema's type and metadata. Metadata propagation from the user-provided schema is whitelist-based: currently only "paimon.map.selected-keys" is preserved and merged into the final aligned schema.</p> |
| <p>To prune map entries by key, attach metadata "paimon.map.selected-keys" to the target map field in read schema. The value is a comma-separated key list, for example: "k1,k2". Only map fields with string key type (Arrow utf8) are supported.</p> |
| <p>Attaching this metadata to a MAP field only filters the returned MAP after reading. To push down selected keys from a shared-shredding MAP and return them as STRUCT children, build the field with <code><a class="el" href="classpaimon_1_1_map_shared_shredding_access_builder.html" title="Builds a selected-key projection field for a top-level shared-shredding MAP column.">MapSharedShreddingAccessBuilder</a></code>. To read selected paths from a VARIANT field, build the field with <code><a class="el" href="classpaimon_1_1_variant_access_builder.html" title="Builds a variant-access projection field: a struct field that replaces a VARIANT column in the read s...">VariantAccessBuilder</a></code>.</p> |
| <p>Example: </p><div class="fragment"><div class="line"><span class="keyword">auto</span> <a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">map_field</a> = arrow::field(<span class="stringliteral">"m"</span>, arrow::map(arrow::utf8(), arrow::int32()));</div> |
| <div class="line"><span class="keyword">auto</span> <a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">map_meta</a> = arrow::KeyValueMetadata::Make(</div> |
| <div class="line"> {<span class="stringliteral">"paimon.map.selected-keys"</span>}, {<span class="stringliteral">"k1,k2"</span>});</div> |
| <div class="line"><span class="keyword">auto</span> <a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">projected_schema</a> = arrow::schema({</div> |
| <div class="line"> arrow::field(<span class="stringliteral">"id"</span>, arrow::int64()),</div> |
| <div class="line"> <a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">map_field</a>->WithMetadata(<a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">map_meta</a>),</div> |
| <div class="line">});</div> |
| <div class="line"> </div> |
| <div class="line"><span class="keyword">auto</span> <a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">c_schema</a> = std::make_unique<ArrowSchema>();</div> |
| <div class="line">arrow::ExportSchema(*<a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">projected_schema</a>, <a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">c_schema</a>.get());</div> |
| <div class="line"> </div> |
| <div class="line"><a class="code hl_function" href="classpaimon_1_1_read_context_builder.html#a4e36cce9a1da99af61afb2283804128f">ReadContextBuilder</a> <a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">builder</a>(<span class="stringliteral">"/path/to/table"</span>);</div> |
| <div class="line"><a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">builder</a>.SetReadSchema(std::move(<a class="code hl_define" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">c_schema</a>));</div> |
| <div class="ttc" id="aclasspaimon_1_1_read_context_builder_html_a4e36cce9a1da99af61afb2283804128f"><div class="ttname"><a href="classpaimon_1_1_read_context_builder.html#a4e36cce9a1da99af61afb2283804128f">paimon::ReadContextBuilder::ReadContextBuilder</a></div><div class="ttdeci">ReadContextBuilder(const std::string &path)</div><div class="ttdoc">Constructs a ReadContextBuilder with required parameters.</div></div> |
| <div class="ttc" id="amemory__pool_8h_html_a147ba4ba34a215b3a4f3a95c1ee11704"><div class="ttname"><a href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">PAIMON_UNIQUE_PTR</a></div><div class="ttdeci">#define PAIMON_UNIQUE_PTR</div><div class="ttdef"><b>Definition</b> memory_pool.h:220</div></div> |
| </div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">read_schema</td><td>Arrow C <a class="el" href="classpaimon_1_1_schema.html" title="This interface provides access to TableSchema-related information.">Schema</a>. Ownership of schema resources is transferred to the built <a class="el" href="classpaimon_1_1_read_context.html" title="ReadContext is some configuration for read operations.">ReadContext</a>. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>Priority: read_schema > read_field_ids > read_field_names. When set, read_field_ids and read_field_names are ignored. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a19370226e886d90bfb4b2146e769cff6" name="a19370226e886d90bfb4b2146e769cff6"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a19370226e886d90bfb4b2146e769cff6">◆ </a></span>SetOptions()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetOptions </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::map< std::string, std::string > & </td> |
| <td class="paramname"><em>options</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set a configuration options map to set some option entries which are not defined in the table schema or whose values you want to overwrite. </p> |
| <dl class="section note"><dt>Note</dt><dd>The options map will clear the options added by <code><a class="el" href="classpaimon_1_1_read_context_builder.html#a19a1a07f17d04342f0a3e31faedf4d04" title="Add a single configuration option which is not defined in the table schema or whose value you want to...">AddOption()</a></code> before. </dd></dl> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">options</td><td>The configuration options map. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a19a1a07f17d04342f0a3e31faedf4d04" name="a19a1a07f17d04342f0a3e31faedf4d04"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a19a1a07f17d04342f0a3e31faedf4d04">◆ </a></span>AddOption()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::AddOption </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::string & </td> |
| <td class="paramname"><em>key</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::string & </td> |
| <td class="paramname"><em>value</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Add a single configuration option which is not defined in the table schema or whose value you want to overwrite. </p> |
| <p>If you want to add multiple options, call <code><a class="el" href="classpaimon_1_1_read_context_builder.html#a19a1a07f17d04342f0a3e31faedf4d04" title="Add a single configuration option which is not defined in the table schema or whose value you want to...">AddOption()</a></code> multiple times or use <code><a class="el" href="classpaimon_1_1_read_context_builder.html#a19370226e886d90bfb4b2146e769cff6" title="Set a configuration options map to set some option entries which are not defined in the table schema ...">SetOptions()</a></code> instead. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">key</td><td>The option key. </td></tr> |
| <tr><td class="paramname">value</td><td>The option value. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a58b67acbb681a859634c7d017bfc2551" name="a58b67acbb681a859634c7d017bfc2551"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a58b67acbb681a859634c7d017bfc2551">◆ </a></span>SetPredicate()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetPredicate </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_predicate.html">Predicate</a> > & </td> |
| <td class="paramname"><em>predicate</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set a predicate for filtering data during reading. </p> |
| <p>The predicate is used for both partition pruning and data filtering. It can significantly improve performance by reducing the amount of data that needs to be read and processed.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">predicate</td><td>Shared pointer to the predicate for data filtering. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="af48c4f27fd8e263b51f13f9c2badf167" name="af48c4f27fd8e263b51f13f9c2badf167"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af48c4f27fd8e263b51f13f9c2badf167">◆ </a></span>EnablePredicateFilter()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::EnablePredicateFilter </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> </td> |
| <td class="paramname"><em>enabled</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Whether to perform precise filtering according to predicates for data read from format reader. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">enabled</td><td>Whether to enable precise filtering (default: false) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a72ae2dddf806f6ac9b715e282e0dce8b" name="a72ae2dddf806f6ac9b715e282e0dce8b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a72ae2dddf806f6ac9b715e282e0dce8b">◆ </a></span>EnablePrefetch()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::EnablePrefetch </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> </td> |
| <td class="paramname"><em>enabled</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Enable or disable prefetching of data batches from individual files. </p> |
| <p>When enabled, the reader will prefetch multiple batches in parallel to improve throughput by overlapping I/O with computation. This is particularly beneficial for high-latency storage systems.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">enabled</td><td>Whether to enable prefetching (default: false) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a23f0bffb2be1e1a24cfd13e415b35eb4" name="a23f0bffb2be1e1a24cfd13e415b35eb4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a23f0bffb2be1e1a24cfd13e415b35eb4">◆ </a></span>EnableLateMaterializing()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::EnableLateMaterializing </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> </td> |
| <td class="paramname"><em>enabled</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Enable or disable late materialization (probe/payload two-phase reads). </p> |
| <p>When enabled, each parallel reader under the prefetch layer performs a probe read of predicate columns first and only materializes payload columns for matched rows. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">enabled</td><td>Whether to enable late materialization (default: false) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>Without a pushed-down predicate the late-materializing reader degrades to a plain passthrough. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a77b7e99dd1d6d5cd255c80ffbf716807" name="a77b7e99dd1d6d5cd255c80ffbf716807"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a77b7e99dd1d6d5cd255c80ffbf716807">◆ </a></span>SetReadAheadCacheEnabled()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetReadAheadCacheEnabled </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> </td> |
| <td class="paramname"><em>enabled</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Enable or disable the read-ahead cache for read operations. </p> |
| <p>A read-ahead cache is used to prebuffer data ranges before they are needed, which can improve read performance by reducing redundant I/O operations. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">enabled</td><td>Whether to enable the read-ahead cache (default: true) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a60637f1be393cdb39ab43cfff979d53f" name="a60637f1be393cdb39ab43cfff979d53f"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a60637f1be393cdb39ab43cfff979d53f">◆ </a></span>WithCacheConfig()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::WithCacheConfig </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> <a class="el" href="classpaimon_1_1_cache_config.html">CacheConfig</a> & </td> |
| <td class="paramname"><em>config</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set the cache configuration for prefetch read operations. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">config</td><td>The cache configuration to use. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a83ced5a0fc3709b3dce8cda137825340" name="a83ced5a0fc3709b3dce8cda137825340"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a83ced5a0fc3709b3dce8cda137825340">◆ </a></span>SetPrefetchBatchCount()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetPrefetchBatchCount </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint32_t</a> </td> |
| <td class="paramname"><em>batch_count</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set the total number of batches to prefetch across all files. </p> |
| <p>This controls the memory usage and parallelism of the prefetching mechanism. Higher values can improve throughput but consume more memory.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">batch_count</td><td>Total number of batches to prefetch (default: 600) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ac13b0e6cbeae7bea3c5f66b50331e57b" name="ac13b0e6cbeae7bea3c5f66b50331e57b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ac13b0e6cbeae7bea3c5f66b50331e57b">◆ </a></span>SetPrefetchMaxParallelNum()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetPrefetchMaxParallelNum </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint32_t</a> </td> |
| <td class="paramname"><em>parallel_num</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set the maximum number of parallel prefetch operations. </p> |
| <p>This limits the number of concurrent I/O operations to prevent overwhelming the storage system or consuming excessive system resources.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">parallel_num</td><td>Maximum parallel prefetch operations (default: 3) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="aa1d3965c3097b420ebb61eb8871a1029" name="aa1d3965c3097b420ebb61eb8871a1029"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aa1d3965c3097b420ebb61eb8871a1029">◆ </a></span>EnableMultiThreadRowToBatch()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::EnableMultiThreadRowToBatch </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">bool</a> </td> |
| <td class="paramname"><em>enabled</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Enable or disable multi-threaded row-to-batch conversion in merge-on-read scenarios. </p> |
| <p>When enabled, multiple threads are used to convert row data to batch format during merge operations, which can improve performance for CPU-intensive merge operations.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">enabled</td><td>Whether to enable multi-threaded conversion (default: false) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="aa1babef236e8c932d8cfe3ebfb0d07c3" name="aa1babef236e8c932d8cfe3ebfb0d07c3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aa1babef236e8c932d8cfe3ebfb0d07c3">◆ </a></span>SetRowToBatchThreadNumber()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetRowToBatchThreadNumber </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">uint32_t</a> </td> |
| <td class="paramname"><em>thread_number</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set the number of threads for row-to-batch conversion in merge-on-read scenarios. </p> |
| <p>This controls the parallelism of row-to-batch conversion during merge operations. Higher values can improve performance but may affect result ordering.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">thread_number</td><td>Number of conversion threads (default: 1) </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>If thread_number > 1, Arrow batches from the reader may not be in primary key order. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a23ca35125be67f60a8b74ea69bdeaa72" name="a23ca35125be67f60a8b74ea69bdeaa72"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a23ca35125be67f60a8b74ea69bdeaa72">◆ </a></span>WithMemoryPool()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::WithMemoryPool </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_memory_pool.html">MemoryPool</a> > & </td> |
| <td class="paramname"><em>memory_pool</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set custom memory pool for memory management. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">memory_pool</td><td>The memory pool to use. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>If not set, the default system memory pool will be used. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a2a4a37fe0d1985877ea97b6f653a7ded" name="a2a4a37fe0d1985877ea97b6f653a7ded"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a2a4a37fe0d1985877ea97b6f653a7ded">◆ </a></span>WithExecutor()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::WithExecutor </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_executor.html">Executor</a> > & </td> |
| <td class="paramname"><em>executor</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set custom executor for task execution. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">executor</td><td>The executor to use. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>If not set, the default system executor will be used. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a081ba74623d7a6a85a15309b326b300e" name="a081ba74623d7a6a85a15309b326b300e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a081ba74623d7a6a85a15309b326b300e">◆ </a></span>WithRealtimeContext()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::WithRealtimeContext </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_realtime_context.html">RealtimeContext</a> > & </td> |
| <td class="paramname"><em>realtime_context</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Sets the shared context used to resolve process-local real-time split tickets. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">realtime_context</td><td>Context shared with the scan that created the real-time splits. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a2207f97601909364651cf498d8a7ca7b" name="a2207f97601909364651cf498d8a7ca7b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a2207f97601909364651cf498d8a7ca7b">◆ </a></span>SetTableSchema()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::SetTableSchema </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::string & </td> |
| <td class="paramname"><em>table_schema</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set the table schema as a string to avoid schema loading I/O operations. </p> |
| <p>This optimization allows the reader to use a pre-loaded schema instead of reading it from the table metadata, which can improve performance especially in scenarios with many small read operations.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">table_schema</td><td>String representation of the table schema. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>The user must ensure that the schema string is valid and matches the table. </dd> |
| <dd> |
| If not set, the schema will be loaded from the table path. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ac9370c5ed4080773bdfd707f27d8a758" name="ac9370c5ed4080773bdfd707f27d8a758"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ac9370c5ed4080773bdfd707f27d8a758">◆ </a></span>WithBranch()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::WithBranch </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::string & </td> |
| <td class="paramname"><em>branch</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Set the specific branch to read from in a versioned table. </p> |
| <p>Paimon supports branching for data versioning and time travel queries. This method allows reading from a specific branch instead of the main branch.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">branch</td><td>Name of the branch to read from. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>Default branch is "main" if not specified. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a251413e5eb4909c235f157bce73cf5b4" name="a251413e5eb4909c235f157bce73cf5b4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a251413e5eb4909c235f157bce73cf5b4">◆ </a></span>WithFileSystemSchemeToIdentifierMap()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::WithFileSystemSchemeToIdentifierMap </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::map< std::string, std::string > & </td> |
| <td class="paramname"><em>fs_scheme_to_identifier_map</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Sets a mapping from URI schemes (e.g., "file", "oss") to registered file system identifiers. </p> |
| <p>This allows selecting different pre-registered file system implementations based on the URI scheme at runtime.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">fs_scheme_to_identifier_map</td><td>Map from URI scheme (like "oss") to the corresponding file system identifier. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd><ul> |
| <li>This method is intended for environments where multiple file systems are pre-registered.</li> |
| <li>The specified identifiers must correspond to file systems that have been registered at compile time or initialization.</li> |
| <li>Cannot be used together with <code><a class="el" href="classpaimon_1_1_read_context_builder.html#a6ff02f27a5346cd2f4fd7026bee9a47b" title="Sets a custom file system instance to be used for all file operations in this read context.">WithFileSystem()</a></code>.</li> |
| <li>If not set, use default file system (configured in <code><a class="el" href="structpaimon_1_1_options.html#a91cdf2a3a8110ea53a0d9197d38cfae3" title=""file-system" - Specify the file system.">Options::FILE_SYSTEM</a></code>). Example: builder.WithFileSystemSchemeToIdentifierMap({{"oss", "jindo"}, {"file", "local"}}); </li> |
| </ul> |
| </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a6ff02f27a5346cd2f4fd7026bee9a47b" name="a6ff02f27a5346cd2f4fd7026bee9a47b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a6ff02f27a5346cd2f4fd7026bee9a47b">◆ </a></span>WithFileSystem()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::WithFileSystem </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_file_system.html">FileSystem</a> > & </td> |
| <td class="paramname"><em>file_system</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Sets a custom file system instance to be used for all file operations in this read context. </p> |
| <p>This bypasses the global file system registry and uses the provided implementation directly.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">file_system</td><td>The file system to use. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| <dl class="section note"><dt>Note</dt><dd>If not set, use default file system (configured in <code><a class="el" href="structpaimon_1_1_options.html#a91cdf2a3a8110ea53a0d9197d38cfae3" title=""file-system" - Specify the file system.">Options::FILE_SYSTEM</a></code>) </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a9971fd9cd037d1eb34d476dd406176b7" name="a9971fd9cd037d1eb34d476dd406176b7"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a9971fd9cd037d1eb34d476dd406176b7">◆ </a></span>WithCache()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_read_context_builder.html">ReadContextBuilder</a> & paimon::ReadContextBuilder::WithCache </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">const</a> std::shared_ptr< <a class="el" href="classpaimon_1_1_cache.html">Cache</a> > & </td> |
| <td class="paramname"><em>cache</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Inject a cache for read operations. </p> |
| <p>Passing nullptr disables cache. </p><dl class="section return"><dt>Returns</dt><dd>Reference to this builder for method chaining. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ab2d9a3bf13203069492ddd73961555c1" name="ab2d9a3bf13203069492ddd73961555c1"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab2d9a3bf13203069492ddd73961555c1">◆ </a></span>Finish()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpaimon_1_1_result.html">Result</a>< std::unique_ptr< <a class="el" href="classpaimon_1_1_read_context.html">ReadContext</a> > > paimon::ReadContextBuilder::Finish </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Build and return a <code><a class="el" href="classpaimon_1_1_read_context.html" title="ReadContext is some configuration for read operations.">ReadContext</a></code> instance with input validation. </p> |
| <dl class="section return"><dt>Returns</dt><dd><a class="el" href="classpaimon_1_1_result.html" title="A Result<T> object holds either a value of type T or a Status object explaining why such a value is n...">Result</a> containing the constructed <code><a class="el" href="classpaimon_1_1_read_context.html" title="ReadContext is some configuration for read operations.">ReadContext</a></code> or an error status. </dd></dl> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Data Documentation</h2> |
| <a id="adf01c36be5deb1ef71dc097225dfb5d4" name="adf01c36be5deb1ef71dc097225dfb5d4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#adf01c36be5deb1ef71dc097225dfb5d4">◆ </a></span>impl_</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::unique_ptr<<a class="el" href="memory__pool_8h.html#a147ba4ba34a215b3a4f3a95c1ee11704">Impl</a>> paimon::ReadContextBuilder::impl_</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">private</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </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/<a class="el" href="read__context_8h_source.html">read_context.h</a></li> |
| </ul> |
| </div><!-- contents --> |
| <!-- start footer part --> |
| <hr class="footer"/><address class="footer"><small> |
| Generated by <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> |