| <?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_1ManifestMergeManager" kind="class" language="C++" prot="public"> |
| <compoundname>iceberg::ManifestMergeManager</compoundname> |
| <includes refid="manifest__merge__manager_8h" local="no">manifest_merge_manager.h</includes> |
| <innerclass refid="structiceberg_1_1ManifestMergeManager_1_1MergedManifestCache" prot="private">iceberg::ManifestMergeManager::MergedManifestCache</innerclass> |
| <sectiondef kind="public-type"> |
| <memberdef kind="typedef" id="classiceberg_1_1ManifestMergeManager_1a09606f80eb1dda59b4b3c86e132efc43" prot="public" static="no"> |
| <type>std::function< int64_t()></type> |
| <definition>using iceberg::ManifestMergeManager::SnapshotIdSupplier = std::function<int64_t()></definition> |
| <argsstring></argsstring> |
| <name>SnapshotIdSupplier</name> |
| <qualifiedname>iceberg::ManifestMergeManager::SnapshotIdSupplier</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="52" column="3" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="52" bodyend="-1"/> |
| </memberdef> |
| </sectiondef> |
| <sectiondef kind="private-attrib"> |
| <memberdef kind="variable" id="classiceberg_1_1ManifestMergeManager_1ac5908876a39dbce2998261fa5c7aa190" prot="private" static="no" mutable="no"> |
| <type>const <ref refid="namespaceiceberg_1a06efcb6319f35c7b0af2f629a9e7ae05" kindref="member">ManifestContent</ref></type> |
| <definition>const ManifestContent iceberg::ManifestMergeManager::manifest_content_</definition> |
| <argsstring></argsstring> |
| <name>manifest_content_</name> |
| <qualifiedname>iceberg::ManifestMergeManager::manifest_content_</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="145" column="25" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="145" bodyend="-1"/> |
| </memberdef> |
| <memberdef kind="variable" id="classiceberg_1_1ManifestMergeManager_1ac988c1a43f655b015ee1a0bd40ae5576" prot="private" static="no" mutable="no"> |
| <type>const int64_t</type> |
| <definition>const int64_t iceberg::ManifestMergeManager::target_size_bytes_</definition> |
| <argsstring></argsstring> |
| <name>target_size_bytes_</name> |
| <qualifiedname>iceberg::ManifestMergeManager::target_size_bytes_</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="146" column="17" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="146" bodyend="-1"/> |
| </memberdef> |
| <memberdef kind="variable" id="classiceberg_1_1ManifestMergeManager_1a9fcd0106d5a31821283c4feded03d165" prot="private" static="no" mutable="no"> |
| <type>const int32_t</type> |
| <definition>const int32_t iceberg::ManifestMergeManager::min_count_to_merge_</definition> |
| <argsstring></argsstring> |
| <name>min_count_to_merge_</name> |
| <qualifiedname>iceberg::ManifestMergeManager::min_count_to_merge_</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="147" column="17" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="147" bodyend="-1"/> |
| </memberdef> |
| <memberdef kind="variable" id="classiceberg_1_1ManifestMergeManager_1a42863d1b1f0605700923eabb00ae2cf4" prot="private" static="no" mutable="no"> |
| <type>const bool</type> |
| <definition>const bool iceberg::ManifestMergeManager::merge_enabled_</definition> |
| <argsstring></argsstring> |
| <name>merge_enabled_</name> |
| <qualifiedname>iceberg::ManifestMergeManager::merge_enabled_</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="148" column="14" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="148" bodyend="-1"/> |
| </memberdef> |
| <memberdef kind="variable" id="classiceberg_1_1ManifestMergeManager_1a2fad3007c79b48686b78769ef4d7545e" prot="private" static="no" mutable="no"> |
| <type>std::shared_ptr< <ref refid="classiceberg_1_1FileIO" kindref="compound">FileIO</ref> ></type> |
| <definition>std::shared_ptr<FileIO> iceberg::ManifestMergeManager::file_io_</definition> |
| <argsstring></argsstring> |
| <name>file_io_</name> |
| <qualifiedname>iceberg::ManifestMergeManager::file_io_</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="149" column="19" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="149" bodyend="-1"/> |
| </memberdef> |
| <memberdef kind="variable" id="classiceberg_1_1ManifestMergeManager_1a962f985951cffdb5c5005f57e24ba317" prot="private" static="no" mutable="no"> |
| <type>SnapshotIdSupplier</type> |
| <definition>SnapshotIdSupplier iceberg::ManifestMergeManager::snapshot_id_supplier_</definition> |
| <argsstring></argsstring> |
| <name>snapshot_id_supplier_</name> |
| <qualifiedname>iceberg::ManifestMergeManager::snapshot_id_supplier_</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="150" column="22" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="150" bodyend="-1"/> |
| </memberdef> |
| <memberdef kind="variable" id="classiceberg_1_1ManifestMergeManager_1a372b7a202979487907eb68fb0bfd68ab" prot="private" static="no" mutable="no"> |
| <type>std::function< Status(const std::string &)></type> |
| <definition>std::function<Status(const std::string&)> iceberg::ManifestMergeManager::delete_file_</definition> |
| <argsstring></argsstring> |
| <name>delete_file_</name> |
| <qualifiedname>iceberg::ManifestMergeManager::delete_file_</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="151" column="17" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="151" bodyend="-1"/> |
| </memberdef> |
| <memberdef kind="variable" id="classiceberg_1_1ManifestMergeManager_1a6c1699f9dc1c307437d7919d87b3e839" prot="private" static="no" mutable="no"> |
| <type>int32_t</type> |
| <definition>int32_t iceberg::ManifestMergeManager::replaced_manifests_count_</definition> |
| <argsstring></argsstring> |
| <name>replaced_manifests_count_</name> |
| <qualifiedname>iceberg::ManifestMergeManager::replaced_manifests_count_</qualifiedname> |
| <initializer>{0}</initializer> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="152" column="11" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="152" bodyend="152"/> |
| </memberdef> |
| <memberdef kind="variable" id="classiceberg_1_1ManifestMergeManager_1ae847b3312b0dc7f1bb76eb0834b3277c" prot="private" static="no" mutable="no"> |
| <type>MergedManifestCache</type> |
| <definition>MergedManifestCache iceberg::ManifestMergeManager::merged_manifests_</definition> |
| <argsstring></argsstring> |
| <name>merged_manifests_</name> |
| <qualifiedname>iceberg::ManifestMergeManager::merged_manifests_</qualifiedname> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="153" column="23" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="153" bodyend="-1"/> |
| </memberdef> |
| </sectiondef> |
| <sectiondef kind="public-static-func"> |
| <memberdef kind="function" id="classiceberg_1_1ManifestMergeManager_1a25bd4b26b104fa91ef966c5ab7a149e8" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual"> |
| <type><ref refid="namespaceiceberg_1a9d5594e371beb516b0120e07e69d3af6" kindref="member">Result</ref>< std::unique_ptr< <ref refid="classiceberg_1_1ManifestMergeManager" kindref="compound">ManifestMergeManager</ref> > ></type> |
| <definition>static Result< std::unique_ptr< ManifestMergeManager > > iceberg::ManifestMergeManager::Make</definition> |
| <argsstring>(ManifestContent content, int64_t target_size_bytes, int32_t min_count_to_merge, bool merge_enabled, std::shared_ptr< FileIO > file_io, SnapshotIdSupplier snapshot_id_supplier, std::function< Status(const std::string &)> delete_file={})</argsstring> |
| <name>Make</name> |
| <qualifiedname>iceberg::ManifestMergeManager::Make</qualifiedname> |
| <param> |
| <type><ref refid="namespaceiceberg_1a06efcb6319f35c7b0af2f629a9e7ae05" kindref="member">ManifestContent</ref></type> |
| <declname>content</declname> |
| </param> |
| <param> |
| <type>int64_t</type> |
| <declname>target_size_bytes</declname> |
| </param> |
| <param> |
| <type>int32_t</type> |
| <declname>min_count_to_merge</declname> |
| </param> |
| <param> |
| <type>bool</type> |
| <declname>merge_enabled</declname> |
| </param> |
| <param> |
| <type>std::shared_ptr< <ref refid="classiceberg_1_1FileIO" kindref="compound">FileIO</ref> ></type> |
| <declname>file_io</declname> |
| </param> |
| <param> |
| <type>SnapshotIdSupplier</type> |
| <declname>snapshot_id_supplier</declname> |
| </param> |
| <param> |
| <type>std::function< Status(const std::string &)></type> |
| <declname>delete_file</declname> |
| <defval>{}</defval> |
| </param> |
| <briefdescription> |
| <para>Construct a merge manager with the given configuration. </para> |
| </briefdescription> |
| <detaileddescription> |
| <para><parameterlist kind="param"><parameteritem> |
| <parameternamelist> |
| <parametername>content</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>Manifest content this manager accepts </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>target_size_bytes</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>Target output manifest size in bytes </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>min_count_to_merge</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>Minimum number of manifests before any merging occurs </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>merge_enabled</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>Whether merging is enabled at all </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>file_io</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>File IO used to open manifests for reading </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>snapshot_id_supplier</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>Supplies the snapshot id being committed </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>delete_file</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>Callback that deletes uncommitted merged manifest files </para> |
| </parameterdescription> |
| </parameteritem> |
| </parameterlist> |
| </para> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="63" column="17"/> |
| </memberdef> |
| </sectiondef> |
| <sectiondef kind="public-func"> |
| <memberdef kind="function" id="classiceberg_1_1ManifestMergeManager_1a48fd9f3a16df724b1f0ef2f7ffe43ea3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> |
| <type></type> |
| <definition>iceberg::ManifestMergeManager::ManifestMergeManager</definition> |
| <argsstring>(const ManifestMergeManager &)=delete</argsstring> |
| <name>ManifestMergeManager</name> |
| <qualifiedname>iceberg::ManifestMergeManager::ManifestMergeManager</qualifiedname> |
| <param> |
| <type>const <ref refid="classiceberg_1_1ManifestMergeManager" kindref="compound">ManifestMergeManager</ref> &</type> |
| </param> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="69" column="3"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1ManifestMergeManager_1aff044321809cec4a7c7a2426a102c735" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> |
| <type><ref refid="classiceberg_1_1ManifestMergeManager" kindref="compound">ManifestMergeManager</ref> &</type> |
| <definition>ManifestMergeManager & iceberg::ManifestMergeManager::operator=</definition> |
| <argsstring>(const ManifestMergeManager &)=delete</argsstring> |
| <name>operator=</name> |
| <qualifiedname>iceberg::ManifestMergeManager::operator=</qualifiedname> |
| <param> |
| <type>const <ref refid="classiceberg_1_1ManifestMergeManager" kindref="compound">ManifestMergeManager</ref> &</type> |
| </param> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="70" column="24"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1ManifestMergeManager_1afe2069a5a0eb25d9ff3670cfa6de812f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> |
| <type><ref refid="namespaceiceberg_1a9d5594e371beb516b0120e07e69d3af6" kindref="member">Result</ref>< std::vector< <ref refid="structiceberg_1_1ManifestFile" kindref="compound">ManifestFile</ref> > ></type> |
| <definition>Result< std::vector< ManifestFile > > iceberg::ManifestMergeManager::MergeManifests</definition> |
| <argsstring>(const std::vector< ManifestFile > &existing_manifests, const std::vector< ManifestFile > &new_manifests, const TableMetadata &metadata, const ManifestWriterFactory &writer_factory)</argsstring> |
| <name>MergeManifests</name> |
| <qualifiedname>iceberg::ManifestMergeManager::MergeManifests</qualifiedname> |
| <param> |
| <type>const std::vector< <ref refid="structiceberg_1_1ManifestFile" kindref="compound">ManifestFile</ref> > &</type> |
| <declname>existing_manifests</declname> |
| </param> |
| <param> |
| <type>const std::vector< <ref refid="structiceberg_1_1ManifestFile" kindref="compound">ManifestFile</ref> > &</type> |
| <declname>new_manifests</declname> |
| </param> |
| <param> |
| <type>const <ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref> &</type> |
| <declname>metadata</declname> |
| </param> |
| <param> |
| <type>const <ref refid="namespaceiceberg_1a0fcb4cda5197f4d8c18772a445455cc2" kindref="member">ManifestWriterFactory</ref> &</type> |
| <declname>writer_factory</declname> |
| </param> |
| <briefdescription> |
| <para>Merge existing and new manifests according to configured thresholds. </para> |
| </briefdescription> |
| <detaileddescription> |
| <para>Manifests are grouped by partition_spec_id. Within each group, a greedy bin-packing algorithm combines manifests up to target_size_bytes. The bin that contains the newest manifest is protected by min_count_to_merge: if it has fewer than that many items it is passed through unchanged.</para> |
| <para><parameterlist kind="param"><parameteritem> |
| <parameternamelist> |
| <parametername>existing_manifests</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>Manifests already in the base snapshot </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>new_manifests</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>Newly written manifests to incorporate </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>metadata</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para><ref refid="classiceberg_1_1Table" kindref="compound">Table</ref> metadata (provides specs and schema for readers) </para> |
| </parameterdescription> |
| </parameteritem> |
| <parameteritem> |
| <parameternamelist> |
| <parametername>writer_factory</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>Factory to create new <ref refid="classiceberg_1_1ManifestWriter" kindref="compound">ManifestWriter</ref> instances </para> |
| </parameterdescription> |
| </parameteritem> |
| </parameterlist> |
| <simplesect kind="return"><para>The merged manifest list, or an error </para> |
| </simplesect> |
| </para> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="84" column="10"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1ManifestMergeManager_1a6fb5b97a4d1ff5bb8eeea6aac79b7073" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual"> |
| <type>int32_t</type> |
| <definition>int32_t iceberg::ManifestMergeManager::ReplacedManifestsCount</definition> |
| <argsstring>() const</argsstring> |
| <name>ReplacedManifestsCount</name> |
| <qualifiedname>iceberg::ManifestMergeManager::ReplacedManifestsCount</qualifiedname> |
| <briefdescription> |
| <para>Returns the number of manifests replaced by cached merged outputs. </para> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="90" column="11" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="90" bodyend="90"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1ManifestMergeManager_1ace2b8cc78703c5f3990df0465ebdf448" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> |
| <type>Status</type> |
| <definition>Status iceberg::ManifestMergeManager::CleanUncommitted</definition> |
| <argsstring>(const std::unordered_set< std::string > &committed)</argsstring> |
| <name>CleanUncommitted</name> |
| <qualifiedname>iceberg::ManifestMergeManager::CleanUncommitted</qualifiedname> |
| <param> |
| <type>const std::unordered_set< std::string > &</type> |
| <declname>committed</declname> |
| </param> |
| <briefdescription> |
| <para>Delete cached merged manifests whose paths were not committed and roll back replaced-manifest accounting. </para> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="94" column="10"/> |
| </memberdef> |
| </sectiondef> |
| <sectiondef kind="private-func"> |
| <memberdef kind="function" id="classiceberg_1_1ManifestMergeManager_1a6a45b91604d452314ac660f82241574c" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> |
| <type></type> |
| <definition>iceberg::ManifestMergeManager::ManifestMergeManager</definition> |
| <argsstring>(ManifestContent content, int64_t target_size_bytes, int32_t min_count_to_merge, bool merge_enabled, std::shared_ptr< FileIO > file_io, SnapshotIdSupplier snapshot_id_supplier, std::function< Status(const std::string &)> delete_file)</argsstring> |
| <name>ManifestMergeManager</name> |
| <qualifiedname>iceberg::ManifestMergeManager::ManifestMergeManager</qualifiedname> |
| <param> |
| <type><ref refid="namespaceiceberg_1a06efcb6319f35c7b0af2f629a9e7ae05" kindref="member">ManifestContent</ref></type> |
| <declname>content</declname> |
| </param> |
| <param> |
| <type>int64_t</type> |
| <declname>target_size_bytes</declname> |
| </param> |
| <param> |
| <type>int32_t</type> |
| <declname>min_count_to_merge</declname> |
| </param> |
| <param> |
| <type>bool</type> |
| <declname>merge_enabled</declname> |
| </param> |
| <param> |
| <type>std::shared_ptr< <ref refid="classiceberg_1_1FileIO" kindref="compound">FileIO</ref> ></type> |
| <declname>file_io</declname> |
| </param> |
| <param> |
| <type>SnapshotIdSupplier</type> |
| <declname>snapshot_id_supplier</declname> |
| </param> |
| <param> |
| <type>std::function< Status(const std::string &)></type> |
| <declname>delete_file</declname> |
| </param> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="97" column="3"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1ManifestMergeManager_1afe83e7bcc7aa29aec16a53fa9ca54013" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> |
| <type><ref refid="namespaceiceberg_1a9d5594e371beb516b0120e07e69d3af6" kindref="member">Result</ref>< std::vector< <ref refid="structiceberg_1_1ManifestFile" kindref="compound">ManifestFile</ref> > ></type> |
| <definition>Result< std::vector< ManifestFile > > iceberg::ManifestMergeManager::MergeGroup</definition> |
| <argsstring>(const std::vector< const ManifestFile * > &group, const ManifestFile *first, const TableMetadata &metadata, const ManifestWriterFactory &writer_factory)</argsstring> |
| <name>MergeGroup</name> |
| <qualifiedname>iceberg::ManifestMergeManager::MergeGroup</qualifiedname> |
| <param> |
| <type>const std::vector< const <ref refid="structiceberg_1_1ManifestFile" kindref="compound">ManifestFile</ref> * > &</type> |
| <declname>group</declname> |
| </param> |
| <param> |
| <type>const <ref refid="structiceberg_1_1ManifestFile" kindref="compound">ManifestFile</ref> *</type> |
| <declname>first</declname> |
| </param> |
| <param> |
| <type>const <ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref> &</type> |
| <declname>metadata</declname> |
| </param> |
| <param> |
| <type>const <ref refid="namespaceiceberg_1a0fcb4cda5197f4d8c18772a445455cc2" kindref="member">ManifestWriterFactory</ref> &</type> |
| <declname>writer_factory</declname> |
| </param> |
| <briefdescription> |
| <para>Merge a group of manifests sharing the same spec_id. </para> |
| </briefdescription> |
| <detaileddescription> |
| <para><parameterlist kind="param"><parameteritem> |
| <parameternamelist> |
| <parametername>first</parametername> |
| </parameternamelist> |
| <parameterdescription> |
| <para>The overall first (newest) manifest across all groups, used to apply the min_count_to_merge threshold on the bin that contains it. </para> |
| </parameterdescription> |
| </parameteritem> |
| </parameterlist> |
| </para> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="130" column="10"/> |
| </memberdef> |
| <memberdef kind="function" id="classiceberg_1_1ManifestMergeManager_1ac850eef561ad3f46294d4cde4fe1fe69" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> |
| <type><ref refid="namespaceiceberg_1a9d5594e371beb516b0120e07e69d3af6" kindref="member">Result</ref>< <ref refid="structiceberg_1_1ManifestFile" kindref="compound">ManifestFile</ref> ></type> |
| <definition>Result< ManifestFile > iceberg::ManifestMergeManager::FlushBin</definition> |
| <argsstring>(const std::vector< const ManifestFile * > &bin, const TableMetadata &metadata, const ManifestWriterFactory &writer_factory)</argsstring> |
| <name>FlushBin</name> |
| <qualifiedname>iceberg::ManifestMergeManager::FlushBin</qualifiedname> |
| <param> |
| <type>const std::vector< const <ref refid="structiceberg_1_1ManifestFile" kindref="compound">ManifestFile</ref> * > &</type> |
| <declname>bin</declname> |
| </param> |
| <param> |
| <type>const <ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref> &</type> |
| <declname>metadata</declname> |
| </param> |
| <param> |
| <type>const <ref refid="namespaceiceberg_1a0fcb4cda5197f4d8c18772a445455cc2" kindref="member">ManifestWriterFactory</ref> &</type> |
| <declname>writer_factory</declname> |
| </param> |
| <briefdescription> |
| <para>Write a merged manifest from all manifests in a bin. </para> |
| </briefdescription> |
| <detaileddescription> |
| <para>Entries are written snapshot-aware:<itemizedlist> |
| <listitem><para>ADDED from snapshot_id → WriteAddedEntry (preserve status)</para> |
| </listitem><listitem><para>DELETED from snapshot_id → WriteDeletedEntry (preserve tombstone)</para> |
| </listitem><listitem><para>DELETED from older snapshots → dropped (stale tombstones are not carried forward)</para> |
| </listitem><listitem><para>All other entries → WriteExistingEntry </para> |
| </listitem></itemizedlist> |
| </para> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="141" column="10"/> |
| </memberdef> |
| </sectiondef> |
| <briefdescription> |
| <para>Merges small manifests into larger ones using greedy bin-packing. </para> |
| </briefdescription> |
| <detaileddescription> |
| <para>Manifests are grouped by partition_spec_id before merging; manifests with different spec IDs are never merged together. Within a group, manifests are accumulated into bins until a bin would exceed target_size_bytes, at which point the bin is flushed (written) and a new one started. Manifests already larger than target_size_bytes pass through unchanged.</para> |
| <para><simplesect kind="note"><para>This class is non-copyable and non-movable. </para> |
| </simplesect> |
| </para> |
| </detaileddescription> |
| <location file="iceberg/manifest/manifest_merge_manager.h" line="50" column="1" bodyfile="iceberg/manifest/manifest_merge_manager.h" bodystart="50" bodyend="154"/> |
| <listofallmembers> |
| <member refid="classiceberg_1_1ManifestMergeManager_1ace2b8cc78703c5f3990df0465ebdf448" prot="public" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>CleanUncommitted</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a372b7a202979487907eb68fb0bfd68ab" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>delete_file_</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a2fad3007c79b48686b78769ef4d7545e" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>file_io_</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1ac850eef561ad3f46294d4cde4fe1fe69" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>FlushBin</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a25bd4b26b104fa91ef966c5ab7a149e8" prot="public" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>Make</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1ac5908876a39dbce2998261fa5c7aa190" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>manifest_content_</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a48fd9f3a16df724b1f0ef2f7ffe43ea3" prot="public" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>ManifestMergeManager</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a6a45b91604d452314ac660f82241574c" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>ManifestMergeManager</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a42863d1b1f0605700923eabb00ae2cf4" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>merge_enabled_</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1ae847b3312b0dc7f1bb76eb0834b3277c" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>merged_manifests_</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1afe83e7bcc7aa29aec16a53fa9ca54013" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>MergeGroup</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1afe2069a5a0eb25d9ff3670cfa6de812f" prot="public" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>MergeManifests</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a9fcd0106d5a31821283c4feded03d165" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>min_count_to_merge_</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1aff044321809cec4a7c7a2426a102c735" prot="public" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>operator=</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a6c1699f9dc1c307437d7919d87b3e839" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>replaced_manifests_count_</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a6fb5b97a4d1ff5bb8eeea6aac79b7073" prot="public" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>ReplacedManifestsCount</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a962f985951cffdb5c5005f57e24ba317" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>snapshot_id_supplier_</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1a09606f80eb1dda59b4b3c86e132efc43" prot="public" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>SnapshotIdSupplier</name></member> |
| <member refid="classiceberg_1_1ManifestMergeManager_1ac988c1a43f655b015ee1a0bd40ae5576" prot="private" virt="non-virtual"><scope>iceberg::ManifestMergeManager</scope><name>target_size_bytes_</name></member> |
| </listofallmembers> |
| </compounddef> |
| </doxygen> |