| <?xml version='1.0' encoding='UTF-8' standalone='no'?> |
| <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.8" xml:lang="en-US"> |
| <compounddef id="classiceberg_1_1FileIO" kind="class" language="C++" prot="public"> |
| <compoundname>iceberg::FileIO</compoundname> |
| <derivedcompoundref refid="classiceberg_1_1MockFileIO" prot="public" virt="non-virtual">iceberg::MockFileIO</derivedcompoundref> |
| <derivedcompoundref refid="classiceberg_1_1arrow_1_1ArrowFileSystemFileIO" prot="public" virt="non-virtual">iceberg::arrow::ArrowFileSystemFileIO</derivedcompoundref> |
| <derivedcompoundref refid="classiceberg_1_1test_1_1StdFileIO" prot="public" virt="non-virtual">iceberg::test::StdFileIO</derivedcompoundref> |
| <includes refid="file__io_8h" local="no">file_io.h</includes> |
| <sectiondef kind="public-func"> |
| <memberdef kind="function" id="classiceberg_1_1FileIO_1a4c7135a7de2494ad9b4ad6aacd65bf45" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> |
| <type></type> |
| <definition>iceberg::FileIO::FileIO</definition> |
| <argsstring>()=default</argsstring> |
| <name>FileIO</name> |
| <qualifiedname>iceberg::FileIO::FileIO</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/file_io.h" line="42" column="3"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1FileIO_1af3d6e79fa37cfcd2c0a8face664a70ec" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual"> |
| <type></type> |
| <definition>virtual iceberg::FileIO::~FileIO</definition> |
| <argsstring>()=default</argsstring> |
| <name>~FileIO</name> |
| <qualifiedname>iceberg::FileIO::~FileIO</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/file_io.h" line="43" column="11"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1FileIO_1a714e3babeac9395ed6ef4b2f5c94a5cd" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual"> |
| <type>Result< std::string ></type> |
| <definition>virtual Result< std::string > iceberg::FileIO::ReadFile</definition> |
| <argsstring>(const std::string &file_location, std::optional< size_t > length)</argsstring> |
| <name>ReadFile</name> |
| <qualifiedname>iceberg::FileIO::ReadFile</qualifiedname> |
| <reimplementedby refid="classiceberg_1_1arrow_1_1ArrowFileSystemFileIO_1aa023cae7f400db161e6d847c2bf6f2f3">ReadFile</reimplementedby> |
| <reimplementedby refid="classiceberg_1_1test_1_1StdFileIO_1acd86d18e3fb3a5dc6b86584953ec34f1">ReadFile</reimplementedby> |
| <param> |
| <type>const std::string &</type> |
| <declname>file_location</declname> |
| </param> |
| <param> |
| <type>std::optional< size_t ></type> |
| <declname>length</declname> |
| </param> |
| <briefdescription> |
| <para>Read the content of the file at the given location. </para> |
| </briefdescription> |
| <detaileddescription> |
| <para><parameterlist kind="param"><parameteritem> |
| <parameternamelist> |
| <parametername>file_location</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>The location of the file to read. </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>length</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>The number of bytes to read. Some object storage need to specify the length to read, e.g. S3 <computeroutput>GetObject</computeroutput> has a Range parameter. </para> |
| </parameterdescription> |
| </parameteritem> |
| </parameterlist> |
| <simplesect kind="return"><para>The content of the file if the read succeeded, an error code if the read failed. </para> |
| </simplesect> |
| </para> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/file_io.h" line="52" column="18" bodyfile="iceberg/file_io.h" bodystart="52" bodyend="56"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1FileIO_1a527a78aca1045034250f50a51d8dc0f9" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual"> |
| <type>Status</type> |
| <definition>virtual Status iceberg::FileIO::WriteFile</definition> |
| <argsstring>(const std::string &file_location, std::string_view content)</argsstring> |
| <name>WriteFile</name> |
| <qualifiedname>iceberg::FileIO::WriteFile</qualifiedname> |
| <reimplementedby refid="classiceberg_1_1arrow_1_1ArrowFileSystemFileIO_1a989c72cecf8dc2463cc90f947d36ba50">WriteFile</reimplementedby> |
| <reimplementedby refid="classiceberg_1_1test_1_1StdFileIO_1a42ed781e4a4eedf4538d8e1c8da28680">WriteFile</reimplementedby> |
| <param> |
| <type>const std::string &</type> |
| <declname>file_location</declname> |
| </param> |
| <param> |
| <type>std::string_view</type> |
| <declname>content</declname> |
| </param> |
| <briefdescription> |
| <para>Write the given content to the file at the given location. </para> |
| </briefdescription> |
| <detaileddescription> |
| <para><parameterlist kind="param"><parameteritem> |
| <parameternamelist> |
| <parametername>file_location</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>The location of the file to write. </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>content</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>The content to write to the file. </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>overwrite</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>If true, overwrite the file if it exists. If false, fail if the file exists. </para> |
| </parameterdescription> |
| </parameteritem> |
| </parameterlist> |
| <simplesect kind="return"><para>void if the write succeeded, an error code if the write failed. </para> |
| </simplesect> |
| </para> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/file_io.h" line="65" column="18" bodyfile="iceberg/file_io.h" bodystart="65" bodyend="67"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1FileIO_1ace7c9ec329017d5a99082739e8578937" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual"> |
| <type>Status</type> |
| <definition>virtual Status iceberg::FileIO::DeleteFile</definition> |
| <argsstring>(const std::string &file_location)</argsstring> |
| <name>DeleteFile</name> |
| <qualifiedname>iceberg::FileIO::DeleteFile</qualifiedname> |
| <reimplementedby refid="classiceberg_1_1arrow_1_1ArrowFileSystemFileIO_1a054c596530ea55f4e66155c46308ab74">DeleteFile</reimplementedby> |
| <reimplementedby refid="classiceberg_1_1test_1_1StdFileIO_1a1050c568739393ef643f8601086a354e">DeleteFile</reimplementedby> |
| <param> |
| <type>const std::string &</type> |
| <declname>file_location</declname> |
| </param> |
| <briefdescription> |
| <para>Delete a file at the given location. </para> |
| </briefdescription> |
| <detaileddescription> |
| <para><parameterlist kind="param"><parameteritem> |
| <parameternamelist> |
| <parametername>file_location</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>The location of the file to delete. </para> |
| </parameterdescription> |
| </parameteritem> |
| </parameterlist> |
| <simplesect kind="return"><para>void if the delete succeeded, an error code if the delete failed. </para> |
| </simplesect> |
| </para> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/file_io.h" line="73" column="18" bodyfile="iceberg/file_io.h" bodystart="73" bodyend="75"/> |
| </memberdef> |
| </sectiondef> |
| <briefdescription> |
| <para>Pluggable module for reading, writing, and deleting files. </para> |
| </briefdescription> |
| <detaileddescription> |
| <para>This module only handle metadata files, not data files. The metadata files are typically small and are used to store schema, partition information, and other metadata about the table.</para> |
| <para>Note that these functions are not atomic. For example, if a write fails, the file may be partially written. Implementations should be careful to avoid corrupting metadata files. </para> |
| </detaileddescription> |
| <inheritancegraph> |
| <node id="1"> |
| <label>iceberg::FileIO</label> |
| <link refid="classiceberg_1_1FileIO"/> |
| </node> |
| <node id="2"> |
| <label>iceberg::MockFileIO</label> |
| <link refid="classiceberg_1_1MockFileIO"/> |
| <childnode refid="1" relation="public-inheritance"> |
| </childnode> |
| </node> |
| <node id="3"> |
| <label>iceberg::arrow::ArrowFileSystemFileIO</label> |
| <link refid="classiceberg_1_1arrow_1_1ArrowFileSystemFileIO"/> |
| <childnode refid="1" relation="public-inheritance"> |
| </childnode> |
| </node> |
| <node id="4"> |
| <label>iceberg::test::StdFileIO</label> |
| <link refid="classiceberg_1_1test_1_1StdFileIO"/> |
| <childnode refid="1" relation="public-inheritance"> |
| </childnode> |
| </node> |
| </inheritancegraph> |
| <location file="iceberg/file_io.h" line="40" column="1" bodyfile="iceberg/file_io.h" bodystart="40" bodyend="76"/> |
| <listofallmembers> |
| <member refid="classiceberg_1_1FileIO_1ace7c9ec329017d5a99082739e8578937" prot="public" virt="virtual"><scope>iceberg::FileIO</scope><name>DeleteFile</name></member> |
| <member refid="classiceberg_1_1FileIO_1a4c7135a7de2494ad9b4ad6aacd65bf45" prot="public" virt="non-virtual"><scope>iceberg::FileIO</scope><name>FileIO</name></member> |
| <member refid="classiceberg_1_1FileIO_1a714e3babeac9395ed6ef4b2f5c94a5cd" prot="public" virt="virtual"><scope>iceberg::FileIO</scope><name>ReadFile</name></member> |
| <member refid="classiceberg_1_1FileIO_1a527a78aca1045034250f50a51d8dc0f9" prot="public" virt="virtual"><scope>iceberg::FileIO</scope><name>WriteFile</name></member> |
| <member refid="classiceberg_1_1FileIO_1af3d6e79fa37cfcd2c0a8face664a70ec" prot="public" virt="virtual"><scope>iceberg::FileIO</scope><name>~FileIO</name></member> |
| </listofallmembers> |
| </compounddef> |
| </doxygen> |