| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=11"/> |
| <meta name="generator" content="Doxygen 1.9.8"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>iceberg-cpp: iceberg::arrow Namespace Reference</title> |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="jquery.js"></script> |
| <script type="text/javascript" src="dynsections.js"></script> |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr id="projectrow"> |
| <td id="projectalign"> |
| <div id="projectname">iceberg-cpp |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.9.8 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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="namespaceiceberg.html">iceberg</a></li><li class="navelem"><a class="el" href="namespaceiceberg_1_1arrow.html">arrow</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="summary"> |
| <a href="#nested-classes">Classes</a> | |
| <a href="#func-members">Functions</a> | |
| <a href="#var-members">Variables</a> </div> |
| <div class="headertitle"><div class="title">iceberg::arrow Namespace Reference</div></div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p>Arrow-backed IO and data conversion APIs. |
| <a href="namespaceiceberg_1_1arrow.html#details">More...</a></p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a> |
| Classes</h2></td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structiceberg_1_1arrow_1_1S3Properties.html">S3Properties</a></td></tr> |
| <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">S3 configuration property keys for ArrowS3FileIO. <a href="structiceberg_1_1arrow_1_1S3Properties.html#details">More...</a><br /></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a> |
| Functions</h2></td></tr> |
| <tr class="memitem:ab7a1e810bcc704fe597945b32a96d894" id="r_ab7a1e810bcc704fe597945b32a96d894"><td class="memItemLeft" align="right" valign="top"><a id="ab7a1e810bcc704fe597945b32a96d894" name="ab7a1e810bcc704fe597945b32a96d894"></a> |
| ICEBERG_BUNDLE_EXPORT std::unique_ptr< <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> > </td><td class="memItemRight" valign="bottom"><b>MakeMockFileIO</b> ()</td></tr> |
| <tr class="separator:ab7a1e810bcc704fe597945b32a96d894"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab2aa5166871ebfd494a4bda12d751e79" id="r_ab2aa5166871ebfd494a4bda12d751e79"><td class="memItemLeft" align="right" valign="top"><a id="ab2aa5166871ebfd494a4bda12d751e79" name="ab2aa5166871ebfd494a4bda12d751e79"></a> |
| ICEBERG_BUNDLE_EXPORT std::unique_ptr< <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> > </td><td class="memItemRight" valign="bottom"><b>MakeLocalFileIO</b> ()</td></tr> |
| <tr class="separator:ab2aa5166871ebfd494a4bda12d751e79"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa4c684c9dab81759ea6d8cd322894af3" id="r_aa4c684c9dab81759ea6d8cd322894af3"><td class="memItemLeft" align="right" valign="top">ICEBERG_BUNDLE_EXPORT <a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>< std::unique_ptr< <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceiceberg_1_1arrow.html#aa4c684c9dab81759ea6d8cd322894af3">MakeS3FileIO</a> (const std::unordered_map< std::string, std::string > &properties={})</td></tr> |
| <tr class="memdesc:aa4c684c9dab81759ea6d8cd322894af3"><td class="mdescLeft"> </td><td class="mdescRight">Create an S3 <a class="el" href="classiceberg_1_1FileIO.html" title="Pluggable module for reading, writing, and deleting files.">FileIO</a> backed by Arrow's S3FileSystem. <br /></td></tr> |
| <tr class="separator:aa4c684c9dab81759ea6d8cd322894af3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:afe534529616b1e1b86fb707c29390931" id="r_afe534529616b1e1b86fb707c29390931"><td class="memItemLeft" align="right" valign="top">ICEBERG_BUNDLE_EXPORT Status </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceiceberg_1_1arrow.html#afe534529616b1e1b86fb707c29390931">FinalizeS3</a> ()</td></tr> |
| <tr class="memdesc:afe534529616b1e1b86fb707c29390931"><td class="mdescLeft"> </td><td class="mdescRight">Finalize (clean up) the Arrow S3 subsystem. <br /></td></tr> |
| <tr class="separator:afe534529616b1e1b86fb707c29390931"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a537b313f3b1ea07042fee34cfc08c420" id="r_a537b313f3b1ea07042fee34cfc08c420"><td class="memItemLeft" align="right" valign="top">ICEBERG_BUNDLE_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceiceberg_1_1arrow.html#a537b313f3b1ea07042fee34cfc08c420">RegisterAll</a> ()</td></tr> |
| <tr class="memdesc:a537b313f3b1ea07042fee34cfc08c420"><td class="mdescLeft"> </td><td class="mdescRight">Register Arrow FileIOs and Arrow-backed C Data utilities. <br /></td></tr> |
| <tr class="separator:a537b313f3b1ea07042fee34cfc08c420"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aed8332d01e16aeb3ca8c55f222856ae0" id="r_aed8332d01e16aeb3ca8c55f222856ae0"><td class="memItemLeft" align="right" valign="top"><a id="aed8332d01e16aeb3ca8c55f222856ae0" name="aed8332d01e16aeb3ca8c55f222856ae0"></a> |
| constexpr bool </td><td class="memItemRight" valign="bottom"><b>EqualsIgnoreAsciiCase</b> (std::string_view left, std::string_view right)</td></tr> |
| <tr class="memdesc:aed8332d01e16aeb3ca8c55f222856ae0"><td class="mdescLeft"> </td><td class="mdescRight">ASCII-only case-insensitive comparison: schemes are ASCII (RFC 3986), and <cctype> is locale-sensitive. <br /></td></tr> |
| <tr class="separator:aed8332d01e16aeb3ca8c55f222856ae0"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af7361a309535725b457d956293b33c76" id="r_af7361a309535725b457d956293b33c76"><td class="memItemLeft" align="right" valign="top"><a id="af7361a309535725b457d956293b33c76" name="af7361a309535725b457d956293b33c76"></a> |
| constexpr bool </td><td class="memItemRight" valign="bottom"><b>IsS3Scheme</b> (std::string_view scheme)</td></tr> |
| <tr class="memdesc:af7361a309535725b457d956293b33c76"><td class="mdescLeft"> </td><td class="mdescRight">Return whether a URI scheme is S3-compatible; case-insensitive, because scheme routing is. <br /></td></tr> |
| <tr class="separator:af7361a309535725b457d956293b33c76"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a022f2be841411f9ebbe5f777ef82e588" id="r_a022f2be841411f9ebbe5f777ef82e588"><td class="memItemLeft" align="right" valign="top">constexpr bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceiceberg_1_1arrow.html#a022f2be841411f9ebbe5f777ef82e588">IsS3CredentialPrefix</a> (std::string_view prefix)</td></tr> |
| <tr class="memdesc:a022f2be841411f9ebbe5f777ef82e588"><td class="mdescLeft"> </td><td class="mdescRight">Return whether a storage credential prefix belongs to S3. <br /></td></tr> |
| <tr class="separator:a022f2be841411f9ebbe5f777ef82e588"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a> |
| Variables</h2></td></tr> |
| <tr class="memitem:a4dc2f2056c520e55520c47f2c6b94b37" id="r_a4dc2f2056c520e55520c47f2c6b94b37"><td class="memItemLeft" align="right" valign="top">constexpr std::array< std::string_view, 4 > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceiceberg_1_1arrow.html#a4dc2f2056c520e55520c47f2c6b94b37">kS3Schemes</a> = {"s3", "s3a", "s3n", "oss"}</td></tr> |
| <tr class="memdesc:a4dc2f2056c520e55520c47f2c6b94b37"><td class="mdescLeft"> </td><td class="mdescRight">URI schemes served by the Arrow S3 <a class="el" href="classiceberg_1_1FileIO.html" title="Pluggable module for reading, writing, and deleting files.">FileIO</a>, lower-case. <br /></td></tr> |
| <tr class="separator:a4dc2f2056c520e55520c47f2c6b94b37"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>Arrow-backed IO and data conversion APIs. </p> |
| </div><h2 class="groupheader">Function Documentation</h2> |
| <a id="afe534529616b1e1b86fb707c29390931" name="afe534529616b1e1b86fb707c29390931"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#afe534529616b1e1b86fb707c29390931">◆ </a></span>FinalizeS3()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">ICEBERG_BUNDLE_EXPORT Status iceberg::arrow::FinalizeS3 </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Finalize (clean up) the Arrow S3 subsystem. </p> |
| <p>Must be called before process exit if S3 was initialized, otherwise Arrow's static destructors may cause a non-zero exit. </p> |
| |
| </div> |
| </div> |
| <a id="a022f2be841411f9ebbe5f777ef82e588" name="a022f2be841411f9ebbe5f777ef82e588"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a022f2be841411f9ebbe5f777ef82e588">◆ </a></span>IsS3CredentialPrefix()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">constexpr bool iceberg::arrow::IsS3CredentialPrefix </td> |
| <td>(</td> |
| <td class="paramtype">std::string_view </td> |
| <td class="paramname"><em>prefix</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Return whether a storage credential prefix belongs to S3. </p> |
| <p>Accepts the bare <code>s3</code> prefix (exactly: a case variant would be stored as a key no canonicalized location can match) or a URI prefix such as <code>s3a://bucket</code>. Bare aliases such as <code>oss</code> are deliberately rejected, matching Java S3FileIO's credential filter. </p> |
| |
| </div> |
| </div> |
| <a id="aa4c684c9dab81759ea6d8cd322894af3" name="aa4c684c9dab81759ea6d8cd322894af3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aa4c684c9dab81759ea6d8cd322894af3">◆ </a></span>MakeS3FileIO()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">ICEBERG_BUNDLE_EXPORT <a class="el" href="namespaceiceberg.html#a9d5594e371beb516b0120e07e69d3af6">Result</a>< std::unique_ptr< <a class="el" href="classiceberg_1_1FileIO.html">FileIO</a> > > iceberg::arrow::MakeS3FileIO </td> |
| <td>(</td> |
| <td class="paramtype">const std::unordered_map< std::string, std::string > & </td> |
| <td class="paramname"><em>properties</em> = <code>{}</code></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Create an S3 <a class="el" href="classiceberg_1_1FileIO.html" title="Pluggable module for reading, writing, and deleting files.">FileIO</a> backed by Arrow's S3FileSystem. </p> |
| <p>This function initializes the S3 subsystem if not already initialized (thread-safe). The S3 initialization is cached once per process.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">properties</td><td>Configuration properties for S3 access. See <a class="el" href="structiceberg_1_1arrow_1_1S3Properties.html" title="S3 configuration property keys for ArrowS3FileIO.">S3Properties</a> for available keys (credentials, region, endpoint, timeouts, etc.). </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classiceberg_1_1FileIO.html" title="Pluggable module for reading, writing, and deleting files.">FileIO</a> instance for S3 operations, or an error if S3 is not supported. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a537b313f3b1ea07042fee34cfc08c420" name="a537b313f3b1ea07042fee34cfc08c420"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a537b313f3b1ea07042fee34cfc08c420">◆ </a></span>RegisterAll()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">ICEBERG_BUNDLE_EXPORT void iceberg::arrow::RegisterAll </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Register Arrow FileIOs and Arrow-backed C Data utilities. </p> |
| <p>This operation is idempotent and safe to call multiple times. </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Variable Documentation</h2> |
| <a id="a4dc2f2056c520e55520c47f2c6b94b37" name="a4dc2f2056c520e55520c47f2c6b94b37"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a4dc2f2056c520e55520c47f2c6b94b37">◆ </a></span>kS3Schemes</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">constexpr std::array<std::string_view, 4> iceberg::arrow::kS3Schemes = {"s3", "s3a", "s3n", "oss"}</td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>URI schemes served by the Arrow S3 <a class="el" href="classiceberg_1_1FileIO.html" title="Pluggable module for reading, writing, and deleting files.">FileIO</a>, lower-case. </p> |
| <p>Single source of truth: registration, IsS3Scheme and alias canonicalization all derive from this list, so a new alias only has to be added here.</p> |
| <p><code>oss</code> is served because the store is S3-compatible; see the <a class="el" href="classiceberg_1_1FileIO.html" title="Pluggable module for reading, writing, and deleting files.">FileIO</a> docs. </p> |
| |
| </div> |
| </div> |
| </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> |