| <?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="table__metadata_8h" kind="file" language="C++"> |
| <compoundname>table_metadata.h</compoundname> |
| <includes local="no">memory</includes> |
| <includes local="no">string</includes> |
| <includes local="no">string_view</includes> |
| <includes local="no">unordered_map</includes> |
| <includes local="no">vector</includes> |
| <includes refid="iceberg__export_8h" local="yes">iceberg/iceberg_export.h</includes> |
| <includes refid="table__properties_8h" local="yes">iceberg/table_properties.h</includes> |
| <includes refid="type__fwd_8h" local="yes">iceberg/type_fwd.h</includes> |
| <includes refid="error__collector_8h" local="yes">iceberg/util/error_collector.h</includes> |
| <includes refid="lazy_8h" local="yes">iceberg/util/lazy.h</includes> |
| <includes refid="timepoint_8h" local="yes">iceberg/util/timepoint.h</includes> |
| <includedby refid="in__memory__catalog_8cc" local="yes">iceberg/catalog/memory/in_memory_catalog.cc</includedby> |
| <includedby refid="types_8cc" local="yes">iceberg/catalog/rest/types.cc</includedby> |
| <includedby refid="json__serde_8cc" local="yes">iceberg/json_serde.cc</includedby> |
| <includedby refid="json__serde__internal_8h" local="yes">iceberg/json_serde_internal.h</includedby> |
| <includedby refid="manifest__list_8h" local="yes">iceberg/manifest/manifest_list.h</includedby> |
| <includedby refid="manifest__writer_8cc" local="yes">iceberg/manifest/manifest_writer.cc</includedby> |
| <includedby refid="schema_8cc" local="yes">iceberg/schema.cc</includedby> |
| <includedby refid="table_8cc" local="yes">iceberg/table.cc</includedby> |
| <includedby refid="table__metadata_8cc" local="yes">iceberg/table_metadata.cc</includedby> |
| <includedby refid="table__requirement_8cc" local="yes">iceberg/table_requirement.cc</includedby> |
| <includedby refid="table__requirements_8cc" local="yes">iceberg/table_requirements.cc</includedby> |
| <includedby refid="table__scan_8cc" local="yes">iceberg/table_scan.cc</includedby> |
| <includedby refid="table__update_8cc" local="yes">iceberg/table_update.cc</includedby> |
| <includedby refid="fast__append__test_8cc" local="yes">iceberg/test/fast_append_test.cc</includedby> |
| <includedby refid="in__memory__catalog__test_8cc" local="yes">iceberg/test/in_memory_catalog_test.cc</includedby> |
| <includedby refid="manifest__writer__versions__test_8cc" local="yes">iceberg/test/manifest_writer_versions_test.cc</includedby> |
| <includedby refid="metadata__io__test_8cc" local="yes">iceberg/test/metadata_io_test.cc</includedby> |
| <includedby refid="metadata__serde__test_8cc" local="yes">iceberg/test/metadata_serde_test.cc</includedby> |
| <includedby refid="metrics__config__test_8cc" local="yes">iceberg/test/metrics_config_test.cc</includedby> |
| <includedby refid="rest__json__serde__test_8cc" local="yes">iceberg/test/rest_json_serde_test.cc</includedby> |
| <includedby refid="snapshot__util__test_8cc" local="yes">iceberg/test/snapshot_util_test.cc</includedby> |
| <includedby refid="table__metadata__builder__test_8cc" local="yes">iceberg/test/table_metadata_builder_test.cc</includedby> |
| <includedby refid="table__requirement__test_8cc" local="yes">iceberg/test/table_requirement_test.cc</includedby> |
| <includedby refid="table__requirements__test_8cc" local="yes">iceberg/test/table_requirements_test.cc</includedby> |
| <includedby refid="table__scan__test_8cc" local="yes">iceberg/test/table_scan_test.cc</includedby> |
| <includedby refid="table__test_8cc" local="yes">iceberg/test/table_test.cc</includedby> |
| <includedby refid="table__update__test_8cc" local="yes">iceberg/test/table_update_test.cc</includedby> |
| <includedby refid="test__resource_8h" local="yes">iceberg/test/test_resource.h</includedby> |
| <includedby refid="update__partition__spec__test_8cc" local="yes">iceberg/test/update_partition_spec_test.cc</includedby> |
| <includedby refid="update__test__base_8h" local="yes">iceberg/test/update_test_base.h</includedby> |
| <includedby refid="transaction_8cc" local="yes">iceberg/transaction.cc</includedby> |
| <includedby refid="expire__snapshots_8cc" local="yes">iceberg/update/expire_snapshots.cc</includedby> |
| <includedby refid="fast__append_8cc" local="yes">iceberg/update/fast_append.cc</includedby> |
| <includedby refid="set__snapshot_8cc" local="yes">iceberg/update/set_snapshot.cc</includedby> |
| <includedby refid="snapshot__manager_8cc" local="yes">iceberg/update/snapshot_manager.cc</includedby> |
| <includedby refid="update__partition__spec_8cc" local="yes">iceberg/update/update_partition_spec.cc</includedby> |
| <includedby refid="update__properties_8cc" local="yes">iceberg/update/update_properties.cc</includedby> |
| <includedby refid="update__schema_8cc" local="yes">iceberg/update/update_schema.cc</includedby> |
| <includedby refid="update__snapshot__reference_8cc" local="yes">iceberg/update/update_snapshot_reference.cc</includedby> |
| <includedby refid="update__sort__order_8cc" local="yes">iceberg/update/update_sort_order.cc</includedby> |
| <includedby refid="snapshot__util_8cc" local="yes">iceberg/util/snapshot_util.cc</includedby> |
| <incdepgraph> |
| <node id="14"> |
| <label>iceberg/exception.h</label> |
| <link refid="exception_8h"/> |
| <childnode refid="15" relation="include"> |
| </childnode> |
| <childnode refid="7" relation="include"> |
| </childnode> |
| </node> |
| <node id="7"> |
| <label>iceberg/iceberg_export.h</label> |
| <link refid="iceberg__export_8h_source"/> |
| </node> |
| <node id="18"> |
| <label>iceberg/result.h</label> |
| <link refid="result_8h_source"/> |
| <childnode refid="19" relation="include"> |
| </childnode> |
| <childnode refid="12" relation="include"> |
| </childnode> |
| <childnode refid="3" relation="include"> |
| </childnode> |
| <childnode refid="7" relation="include"> |
| </childnode> |
| </node> |
| <node id="1"> |
| <label>iceberg/table_metadata.h</label> |
| <link refid="table__metadata_8h"/> |
| <childnode refid="2" relation="include"> |
| </childnode> |
| <childnode refid="3" relation="include"> |
| </childnode> |
| <childnode refid="4" relation="include"> |
| </childnode> |
| <childnode refid="5" relation="include"> |
| </childnode> |
| <childnode refid="6" relation="include"> |
| </childnode> |
| <childnode refid="7" relation="include"> |
| </childnode> |
| <childnode refid="8" relation="include"> |
| </childnode> |
| <childnode refid="28" relation="include"> |
| </childnode> |
| <childnode refid="29" relation="include"> |
| </childnode> |
| <childnode refid="30" relation="include"> |
| </childnode> |
| <childnode refid="33" relation="include"> |
| </childnode> |
| </node> |
| <node id="8"> |
| <label>iceberg/table_properties.h</label> |
| <link refid="table__properties_8h_source"/> |
| <childnode refid="9" relation="include"> |
| </childnode> |
| <childnode refid="3" relation="include"> |
| </childnode> |
| <childnode refid="5" relation="include"> |
| </childnode> |
| <childnode refid="10" relation="include"> |
| </childnode> |
| <childnode refid="7" relation="include"> |
| </childnode> |
| <childnode refid="11" relation="include"> |
| </childnode> |
| </node> |
| <node id="28"> |
| <label>iceberg/type_fwd.h</label> |
| <link refid="type__fwd_8h"/> |
| </node> |
| <node id="11"> |
| <label>iceberg/util/config.h</label> |
| <link refid="config_8h_source"/> |
| <childnode refid="12" relation="include"> |
| </childnode> |
| <childnode refid="13" relation="include"> |
| </childnode> |
| <childnode refid="3" relation="include"> |
| </childnode> |
| <childnode refid="5" relation="include"> |
| </childnode> |
| <childnode refid="14" relation="include"> |
| </childnode> |
| <childnode refid="16" relation="include"> |
| </childnode> |
| <childnode refid="20" relation="include"> |
| </childnode> |
| </node> |
| <node id="29"> |
| <label>iceberg/util/error_collector.h</label> |
| <link refid="error__collector_8h"/> |
| <childnode refid="3" relation="include"> |
| </childnode> |
| <childnode refid="6" relation="include"> |
| </childnode> |
| <childnode refid="7" relation="include"> |
| </childnode> |
| <childnode refid="18" relation="include"> |
| </childnode> |
| </node> |
| <node id="30"> |
| <label>iceberg/util/lazy.h</label> |
| <link refid="lazy_8h"/> |
| <childnode refid="31" relation="include"> |
| </childnode> |
| <childnode refid="13" relation="include"> |
| </childnode> |
| <childnode refid="32" relation="include"> |
| </childnode> |
| <childnode refid="18" relation="include"> |
| </childnode> |
| <childnode refid="16" relation="include"> |
| </childnode> |
| </node> |
| <node id="16"> |
| <label>iceberg/util/macros.h</label> |
| <link refid="macros_8h_source"/> |
| <childnode refid="17" relation="include"> |
| </childnode> |
| <childnode refid="14" relation="include"> |
| </childnode> |
| <childnode refid="18" relation="include"> |
| </childnode> |
| </node> |
| <node id="20"> |
| <label>iceberg/util/string_util.h</label> |
| <link refid="string__util_8h_source"/> |
| <childnode refid="21" relation="include"> |
| </childnode> |
| <childnode refid="22" relation="include"> |
| </childnode> |
| <childnode refid="23" relation="include"> |
| </childnode> |
| <childnode refid="24" relation="include"> |
| </childnode> |
| <childnode refid="3" relation="include"> |
| </childnode> |
| <childnode refid="4" relation="include"> |
| </childnode> |
| <childnode refid="25" relation="include"> |
| </childnode> |
| <childnode refid="26" relation="include"> |
| </childnode> |
| <childnode refid="27" relation="include"> |
| </childnode> |
| <childnode refid="7" relation="include"> |
| </childnode> |
| <childnode refid="18" relation="include"> |
| </childnode> |
| </node> |
| <node id="33"> |
| <label>iceberg/util/timepoint.h</label> |
| <link refid="timepoint_8h_source"/> |
| <childnode refid="34" relation="include"> |
| </childnode> |
| <childnode refid="7" relation="include"> |
| </childnode> |
| </node> |
| <node id="21"> |
| <label>algorithm</label> |
| </node> |
| <node id="17"> |
| <label>cassert</label> |
| </node> |
| <node id="22"> |
| <label>cerrno</label> |
| </node> |
| <node id="23"> |
| <label>charconv</label> |
| </node> |
| <node id="34"> |
| <label>chrono</label> |
| </node> |
| <node id="31"> |
| <label>concepts</label> |
| </node> |
| <node id="19"> |
| <label>expected</label> |
| </node> |
| <node id="12"> |
| <label>format</label> |
| </node> |
| <node id="13"> |
| <label>functional</label> |
| </node> |
| <node id="9"> |
| <label>limits</label> |
| </node> |
| <node id="2"> |
| <label>memory</label> |
| </node> |
| <node id="32"> |
| <label>mutex</label> |
| </node> |
| <node id="24"> |
| <label>ranges</label> |
| </node> |
| <node id="15"> |
| <label>stdexcept</label> |
| </node> |
| <node id="3"> |
| <label>string</label> |
| </node> |
| <node id="4"> |
| <label>string_view</label> |
| </node> |
| <node id="25"> |
| <label>type_traits</label> |
| </node> |
| <node id="26"> |
| <label>typeinfo</label> |
| </node> |
| <node id="5"> |
| <label>unordered_map</label> |
| </node> |
| <node id="10"> |
| <label>unordered_set</label> |
| </node> |
| <node id="27"> |
| <label>utility</label> |
| </node> |
| <node id="6"> |
| <label>vector</label> |
| </node> |
| </incdepgraph> |
| <invincdepgraph> |
| <node id="2"> |
| <label>iceberg/json_serde_internal.h</label> |
| <link refid="json__serde__internal_8h_source"/> |
| <childnode refid="3" relation="include"> |
| </childnode> |
| </node> |
| <node id="6"> |
| <label>iceberg/manifest/manifest_group.h</label> |
| <link refid="manifest__group_8h"/> |
| </node> |
| <node id="5"> |
| <label>iceberg/manifest/manifest_list.h</label> |
| <link refid="manifest__list_8h"/> |
| <childnode refid="6" relation="include"> |
| </childnode> |
| <childnode refid="7" relation="include"> |
| </childnode> |
| <childnode refid="8" relation="include"> |
| </childnode> |
| <childnode refid="9" relation="include"> |
| </childnode> |
| <childnode refid="10" relation="include"> |
| </childnode> |
| </node> |
| <node id="7"> |
| <label>iceberg/manifest/manifest_writer.h</label> |
| <link refid="manifest__writer_8h"/> |
| <childnode refid="8" relation="include"> |
| </childnode> |
| </node> |
| <node id="8"> |
| <label>iceberg/manifest/rolling_manifest_writer.h</label> |
| <link refid="rolling__manifest__writer_8h"/> |
| </node> |
| <node id="9"> |
| <label>iceberg/row/manifest_wrapper.h</label> |
| <link refid="manifest__wrapper_8h_source"/> |
| </node> |
| <node id="10"> |
| <label>iceberg/snapshot.h</label> |
| <link refid="snapshot_8h_source"/> |
| <childnode refid="11" relation="include"> |
| </childnode> |
| <childnode refid="12" relation="include"> |
| </childnode> |
| <childnode refid="4" relation="include"> |
| </childnode> |
| <childnode refid="13" relation="include"> |
| </childnode> |
| </node> |
| <node id="11"> |
| <label>iceberg/table.h</label> |
| <link refid="table_8h_source"/> |
| <childnode refid="4" relation="include"> |
| </childnode> |
| </node> |
| <node id="1"> |
| <label>iceberg/table_metadata.h</label> |
| <link refid="table__metadata_8h"/> |
| <childnode refid="2" relation="include"> |
| </childnode> |
| <childnode refid="5" relation="include"> |
| </childnode> |
| <childnode refid="3" relation="include"> |
| </childnode> |
| <childnode refid="4" relation="include"> |
| </childnode> |
| </node> |
| <node id="12"> |
| <label>iceberg/table_update.h</label> |
| <link refid="table__update_8h"/> |
| </node> |
| <node id="3"> |
| <label>iceberg/test/test_resource.h</label> |
| <link refid="test__resource_8h_source"/> |
| <childnode refid="4" relation="include"> |
| </childnode> |
| </node> |
| <node id="4"> |
| <label>iceberg/test/update_test_base.h</label> |
| <link refid="update__test__base_8h_source"/> |
| </node> |
| <node id="14"> |
| <label>iceberg/update/fast_append.h</label> |
| <link refid="fast__append_8h"/> |
| </node> |
| <node id="13"> |
| <label>iceberg/update/snapshot_update.h</label> |
| <link refid="snapshot__update_8h_source"/> |
| <childnode refid="14" relation="include"> |
| </childnode> |
| </node> |
| </invincdepgraph> |
| <innerclass refid="structiceberg_1_1SnapshotLogEntry" prot="public">iceberg::SnapshotLogEntry</innerclass> |
| <innerclass refid="structiceberg_1_1MetadataLogEntry" prot="public">iceberg::MetadataLogEntry</innerclass> |
| <innerclass refid="structiceberg_1_1TableMetadata" prot="public">iceberg::TableMetadata</innerclass> |
| <innerclass refid="classiceberg_1_1TableMetadataCache" prot="public">iceberg::TableMetadataCache</innerclass> |
| <innerclass refid="classiceberg_1_1TableMetadataBuilder" prot="public">iceberg::TableMetadataBuilder</innerclass> |
| <innerclass refid="structiceberg_1_1TableMetadataUtil" prot="public">iceberg::TableMetadataUtil</innerclass> |
| <innerclass refid="structiceberg_1_1TableMetadataUtil_1_1Codec" prot="public">iceberg::TableMetadataUtil::Codec</innerclass> |
| <innerclass refid="structstd_1_1hash_3_01iceberg_1_1MetadataLogEntry_01_4" prot="public">std::hash< iceberg::MetadataLogEntry ></innerclass> |
| <innernamespace refid="namespaceiceberg">iceberg</innernamespace> |
| <innernamespace refid="namespacestd">std</innernamespace> |
| <sectiondef kind="var"> |
| <memberdef kind="variable" id="table__metadata_8h_1ae2617d9564a293374442571faa4a15da" prot="public" static="no" mutable="no"> |
| <type></type> |
| <definition>kNone</definition> |
| <argsstring></argsstring> |
| <name>kNone</name> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/table_metadata.h" line="492" column="3" bodyfile="iceberg/table_metadata.h" bodystart="492" bodyend="-1"/> |
| </memberdef> |
| <memberdef kind="variable" id="table__metadata_8h_1a0368f3aa2673ef4292659bab66a1dc2d" prot="public" static="no" mutable="no"> |
| <type></type> |
| <definition>kGzip</definition> |
| <argsstring></argsstring> |
| <name>kGzip</name> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| </detaileddescription> |
| <inbodydescription> |
| </inbodydescription> |
| <location file="iceberg/table_metadata.h" line="493" column="3" bodyfile="iceberg/table_metadata.h" bodystart="493" bodyend="-1"/> |
| </memberdef> |
| </sectiondef> |
| <briefdescription> |
| </briefdescription> |
| <detaileddescription> |
| <para>Table metadata for Iceberg tables. </para> |
| </detaileddescription> |
| <programlisting> |
| <codeline lineno="1"><highlight class="comment">/*</highlight></codeline> |
| <codeline lineno="2"><highlight class="comment"><sp/>*<sp/>Licensed<sp/>to<sp/>the<sp/>Apache<sp/>Software<sp/>Foundation<sp/>(ASF)<sp/>under<sp/>one</highlight></codeline> |
| <codeline lineno="3"><highlight class="comment"><sp/>*<sp/>or<sp/>more<sp/>contributor<sp/>license<sp/>agreements.<sp/><sp/>See<sp/>the<sp/>NOTICE<sp/>file</highlight></codeline> |
| <codeline lineno="4"><highlight class="comment"><sp/>*<sp/>distributed<sp/>with<sp/>this<sp/>work<sp/>for<sp/>additional<sp/>information</highlight></codeline> |
| <codeline lineno="5"><highlight class="comment"><sp/>*<sp/>regarding<sp/>copyright<sp/>ownership.<sp/><sp/>The<sp/>ASF<sp/>licenses<sp/>this<sp/>file</highlight></codeline> |
| <codeline lineno="6"><highlight class="comment"><sp/>*<sp/>to<sp/>you<sp/>under<sp/>the<sp/>Apache<sp/>License,<sp/>Version<sp/>2.0<sp/>(the</highlight></codeline> |
| <codeline lineno="7"><highlight class="comment"><sp/>*<sp/>"License");<sp/>you<sp/>may<sp/>not<sp/>use<sp/>this<sp/>file<sp/>except<sp/>in<sp/>compliance</highlight></codeline> |
| <codeline lineno="8"><highlight class="comment"><sp/>*<sp/>with<sp/>the<sp/>License.<sp/><sp/>You<sp/>may<sp/>obtain<sp/>a<sp/>copy<sp/>of<sp/>the<sp/>License<sp/>at</highlight></codeline> |
| <codeline lineno="9"><highlight class="comment"><sp/>*</highlight></codeline> |
| <codeline lineno="10"><highlight class="comment"><sp/>*<sp/><sp/><sp/>http://www.apache.org/licenses/LICENSE-2.0</highlight></codeline> |
| <codeline lineno="11"><highlight class="comment"><sp/>*</highlight></codeline> |
| <codeline lineno="12"><highlight class="comment"><sp/>*<sp/>Unless<sp/>required<sp/>by<sp/>applicable<sp/>law<sp/>or<sp/>agreed<sp/>to<sp/>in<sp/>writing,</highlight></codeline> |
| <codeline lineno="13"><highlight class="comment"><sp/>*<sp/>software<sp/>distributed<sp/>under<sp/>the<sp/>License<sp/>is<sp/>distributed<sp/>on<sp/>an</highlight></codeline> |
| <codeline lineno="14"><highlight class="comment"><sp/>*<sp/>"AS<sp/>IS"<sp/>BASIS,<sp/>WITHOUT<sp/>WARRANTIES<sp/>OR<sp/>CONDITIONS<sp/>OF<sp/>ANY</highlight></codeline> |
| <codeline lineno="15"><highlight class="comment"><sp/>*<sp/>KIND,<sp/>either<sp/>express<sp/>or<sp/>implied.<sp/><sp/>See<sp/>the<sp/>License<sp/>for<sp/>the</highlight></codeline> |
| <codeline lineno="16"><highlight class="comment"><sp/>*<sp/>specific<sp/>language<sp/>governing<sp/>permissions<sp/>and<sp/>limitations</highlight></codeline> |
| <codeline lineno="17"><highlight class="comment"><sp/>*<sp/>under<sp/>the<sp/>License.</highlight></codeline> |
| <codeline lineno="18"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="19"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="21"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="24"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="25"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><memory></highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="26"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><string></highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="27"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><string_view></highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="28"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><unordered_map></highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="29"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><vector></highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="30"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="31"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"iceberg/iceberg_export.h"</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="32"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"iceberg/table_properties.h"</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="33"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="type__fwd_8h" kindref="compound">iceberg/type_fwd.h</ref>"</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="error__collector_8h" kindref="compound">iceberg/util/error_collector.h</ref>"</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="35"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"<ref refid="lazy_8h" kindref="compound">iceberg/util/lazy.h</ref>"</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="36"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"iceberg/util/timepoint.h"</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="37"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="38"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">iceberg<sp/>{</highlight></codeline> |
| <codeline lineno="39"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="41" refid="structiceberg_1_1SnapshotLogEntry" refkind="compound"><highlight class="keyword">struct<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="structiceberg_1_1SnapshotLogEntry" kindref="compound">SnapshotLogEntry</ref><sp/>{</highlight></codeline> |
| <codeline lineno="43" refid="structiceberg_1_1SnapshotLogEntry_1a3fa3a7d623aeadbe4c238eded7f5ec41" refkind="member"><highlight class="normal"><sp/><sp/>TimePointMs<sp/><ref refid="structiceberg_1_1SnapshotLogEntry_1a3fa3a7d623aeadbe4c238eded7f5ec41" kindref="member">timestamp_ms</ref>;</highlight></codeline> |
| <codeline lineno="45" refid="structiceberg_1_1SnapshotLogEntry_1addc045c812dc9b7aa4c4ab2aabaa2cb9" refkind="member"><highlight class="normal"><sp/><sp/>int64_t<sp/><ref refid="structiceberg_1_1SnapshotLogEntry_1addc045c812dc9b7aa4c4ab2aabaa2cb9" kindref="member">snapshot_id</ref>;</highlight></codeline> |
| <codeline lineno="46"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="47"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>operator==(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1SnapshotLogEntry" kindref="compound">SnapshotLogEntry</ref>&<sp/>lhs,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1SnapshotLogEntry" kindref="compound">SnapshotLogEntry</ref>&<sp/>rhs)<sp/>{</highlight></codeline> |
| <codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lhs.<ref refid="structiceberg_1_1SnapshotLogEntry_1a3fa3a7d623aeadbe4c238eded7f5ec41" kindref="member">timestamp_ms</ref><sp/>==<sp/>rhs.<ref refid="structiceberg_1_1SnapshotLogEntry_1a3fa3a7d623aeadbe4c238eded7f5ec41" kindref="member">timestamp_ms</ref><sp/>&&<sp/>lhs.<ref refid="structiceberg_1_1SnapshotLogEntry_1addc045c812dc9b7aa4c4ab2aabaa2cb9" kindref="member">snapshot_id</ref><sp/>==<sp/>rhs.<ref refid="structiceberg_1_1SnapshotLogEntry_1addc045c812dc9b7aa4c4ab2aabaa2cb9" kindref="member">snapshot_id</ref>;</highlight></codeline> |
| <codeline lineno="49"><highlight class="normal"><sp/><sp/>}</highlight></codeline> |
| <codeline lineno="50"><highlight class="normal">};</highlight></codeline> |
| <codeline lineno="51"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="53" refid="structiceberg_1_1MetadataLogEntry" refkind="compound"><highlight class="keyword">struct<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="structiceberg_1_1MetadataLogEntry" kindref="compound">MetadataLogEntry</ref><sp/>{</highlight></codeline> |
| <codeline lineno="55" refid="structiceberg_1_1MetadataLogEntry_1adcdd6b4238029a0c7147ce27961161e4" refkind="member"><highlight class="normal"><sp/><sp/>TimePointMs<sp/><ref refid="structiceberg_1_1MetadataLogEntry_1adcdd6b4238029a0c7147ce27961161e4" kindref="member">timestamp_ms</ref>;</highlight></codeline> |
| <codeline lineno="57" refid="structiceberg_1_1MetadataLogEntry_1a16b2eb3d8ea815567a323becdab69bba" refkind="member"><highlight class="normal"><sp/><sp/>std::string<sp/><ref refid="structiceberg_1_1MetadataLogEntry_1a16b2eb3d8ea815567a323becdab69bba" kindref="member">metadata_file</ref>;</highlight></codeline> |
| <codeline lineno="58"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="59"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>operator==(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1MetadataLogEntry" kindref="compound">MetadataLogEntry</ref>&<sp/>lhs,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1MetadataLogEntry" kindref="compound">MetadataLogEntry</ref>&<sp/>rhs)<sp/>{</highlight></codeline> |
| <codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lhs.<ref refid="structiceberg_1_1MetadataLogEntry_1adcdd6b4238029a0c7147ce27961161e4" kindref="member">timestamp_ms</ref><sp/>==<sp/>rhs.<ref refid="structiceberg_1_1MetadataLogEntry_1adcdd6b4238029a0c7147ce27961161e4" kindref="member">timestamp_ms</ref><sp/>&&<sp/>lhs.<ref refid="structiceberg_1_1MetadataLogEntry_1a16b2eb3d8ea815567a323becdab69bba" kindref="member">metadata_file</ref><sp/>==<sp/>rhs.<ref refid="structiceberg_1_1MetadataLogEntry_1a16b2eb3d8ea815567a323becdab69bba" kindref="member">metadata_file</ref>;</highlight></codeline> |
| <codeline lineno="61"><highlight class="normal"><sp/><sp/>}</highlight></codeline> |
| <codeline lineno="62"><highlight class="normal">};</highlight></codeline> |
| <codeline lineno="63"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="72" refid="structiceberg_1_1TableMetadata" refkind="compound"><highlight class="keyword">struct<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref><sp/>{</highlight></codeline> |
| <codeline lineno="73"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>int8_t<sp/>kDefaultTableFormatVersion<sp/>=<sp/>2;</highlight></codeline> |
| <codeline lineno="74"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>int8_t<sp/>kSupportedTableFormatVersion<sp/>=<sp/>3;</highlight></codeline> |
| <codeline lineno="75"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>int8_t<sp/>kMinFormatVersionRowLineage<sp/>=<sp/>3;</highlight></codeline> |
| <codeline lineno="76"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>int8_t<sp/>kMinFormatVersionDefaultValues<sp/>=<sp/>3;</highlight></codeline> |
| <codeline lineno="77"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>int64_t<sp/>kInitialSequenceNumber<sp/>=<sp/>0;</highlight></codeline> |
| <codeline lineno="78"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>int64_t<sp/>kInitialRowId<sp/>=<sp/>0;</highlight></codeline> |
| <codeline lineno="79"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="80"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::unordered_map<TypeId,<sp/>int8_t><sp/>kMinFormatVersions<sp/>=<sp/>{};</highlight></codeline> |
| <codeline lineno="81"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="83" refid="structiceberg_1_1TableMetadata_1abad559fa525596e692149cb92a6b6c5c" refkind="member"><highlight class="normal"><sp/><sp/>int8_t<sp/><ref refid="structiceberg_1_1TableMetadata_1abad559fa525596e692149cb92a6b6c5c" kindref="member">format_version</ref>;</highlight></codeline> |
| <codeline lineno="85" refid="structiceberg_1_1TableMetadata_1af0cd9c4f120c634f97f78e00373d239b" refkind="member"><highlight class="normal"><sp/><sp/>std::string<sp/><ref refid="structiceberg_1_1TableMetadata_1af0cd9c4f120c634f97f78e00373d239b" kindref="member">table_uuid</ref>;</highlight></codeline> |
| <codeline lineno="87" refid="structiceberg_1_1TableMetadata_1aa67595d84febdb9a18cb3717e0103335" refkind="member"><highlight class="normal"><sp/><sp/>std::string<sp/><ref refid="structiceberg_1_1TableMetadata_1aa67595d84febdb9a18cb3717e0103335" kindref="member">location</ref>;</highlight></codeline> |
| <codeline lineno="89" refid="structiceberg_1_1TableMetadata_1a7e90cf248dcb13548bd4e252895dd0ab" refkind="member"><highlight class="normal"><sp/><sp/>int64_t<sp/><ref refid="structiceberg_1_1TableMetadata_1a7e90cf248dcb13548bd4e252895dd0ab" kindref="member">last_sequence_number</ref>;</highlight></codeline> |
| <codeline lineno="91" refid="structiceberg_1_1TableMetadata_1a1158b2150b6c8ec623eec50a615e48b3" refkind="member"><highlight class="normal"><sp/><sp/>TimePointMs<sp/><ref refid="structiceberg_1_1TableMetadata_1a1158b2150b6c8ec623eec50a615e48b3" kindref="member">last_updated_ms</ref>;</highlight></codeline> |
| <codeline lineno="93" refid="structiceberg_1_1TableMetadata_1a429f1dfd74449b8fb224797f1619d10a" refkind="member"><highlight class="normal"><sp/><sp/>int32_t<sp/><ref refid="structiceberg_1_1TableMetadata_1a429f1dfd74449b8fb224797f1619d10a" kindref="member">last_column_id</ref>;</highlight></codeline> |
| <codeline lineno="95" refid="structiceberg_1_1TableMetadata_1ab39be8853bddb48ad1e68dcfd6709e1e" refkind="member"><highlight class="normal"><sp/><sp/>std::vector<std::shared_ptr<iceberg::Schema>><sp/><ref refid="structiceberg_1_1TableMetadata_1ab39be8853bddb48ad1e68dcfd6709e1e" kindref="member">schemas</ref>;</highlight></codeline> |
| <codeline lineno="97" refid="structiceberg_1_1TableMetadata_1adadd462cb1a447baef0a437b8ed5ce2e" refkind="member"><highlight class="normal"><sp/><sp/>int32_t<sp/><ref refid="structiceberg_1_1TableMetadata_1adadd462cb1a447baef0a437b8ed5ce2e" kindref="member">current_schema_id</ref>;</highlight></codeline> |
| <codeline lineno="99" refid="structiceberg_1_1TableMetadata_1a23fcb664a4819dcda141eea1bbd5999e" refkind="member"><highlight class="normal"><sp/><sp/>std::vector<std::shared_ptr<iceberg::PartitionSpec>><sp/><ref refid="structiceberg_1_1TableMetadata_1a23fcb664a4819dcda141eea1bbd5999e" kindref="member">partition_specs</ref>;</highlight></codeline> |
| <codeline lineno="101" refid="structiceberg_1_1TableMetadata_1a44476b96f40f56ac4adba561fbb4ef94" refkind="member"><highlight class="normal"><sp/><sp/>int32_t<sp/><ref refid="structiceberg_1_1TableMetadata_1a44476b96f40f56ac4adba561fbb4ef94" kindref="member">default_spec_id</ref>;</highlight></codeline> |
| <codeline lineno="103" refid="structiceberg_1_1TableMetadata_1a1ad1a4c75ef80fad6ef477f75373696e" refkind="member"><highlight class="normal"><sp/><sp/>int32_t<sp/><ref refid="structiceberg_1_1TableMetadata_1a1ad1a4c75ef80fad6ef477f75373696e" kindref="member">last_partition_id</ref>;</highlight></codeline> |
| <codeline lineno="105" refid="structiceberg_1_1TableMetadata_1a48f696b77d6f772bfcdf9b05cf46fc93" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableProperties" kindref="compound">TableProperties</ref><sp/><ref refid="structiceberg_1_1TableMetadata_1a48f696b77d6f772bfcdf9b05cf46fc93" kindref="member">properties</ref>;</highlight></codeline> |
| <codeline lineno="107" refid="structiceberg_1_1TableMetadata_1a05d81d023b91bcf46ab4c1729b89b33c" refkind="member"><highlight class="normal"><sp/><sp/>int64_t<sp/><ref refid="structiceberg_1_1TableMetadata_1a05d81d023b91bcf46ab4c1729b89b33c" kindref="member">current_snapshot_id</ref>;</highlight></codeline> |
| <codeline lineno="109" refid="structiceberg_1_1TableMetadata_1a4e7cb6b428cab513f11b440abcd86251" refkind="member"><highlight class="normal"><sp/><sp/>std::vector<std::shared_ptr<iceberg::Snapshot>><sp/><ref refid="structiceberg_1_1TableMetadata_1a4e7cb6b428cab513f11b440abcd86251" kindref="member">snapshots</ref>;</highlight></codeline> |
| <codeline lineno="112" refid="structiceberg_1_1TableMetadata_1aad9b131ae9842167a287008ac7f12d9e" refkind="member"><highlight class="normal"><sp/><sp/>std::vector<SnapshotLogEntry><sp/><ref refid="structiceberg_1_1TableMetadata_1aad9b131ae9842167a287008ac7f12d9e" kindref="member">snapshot_log</ref>;</highlight></codeline> |
| <codeline lineno="115" refid="structiceberg_1_1TableMetadata_1a3290793ebc4158196e9963b430e78a97" refkind="member"><highlight class="normal"><sp/><sp/>std::vector<MetadataLogEntry><sp/><ref refid="structiceberg_1_1TableMetadata_1a3290793ebc4158196e9963b430e78a97" kindref="member">metadata_log</ref>;</highlight></codeline> |
| <codeline lineno="117" refid="structiceberg_1_1TableMetadata_1a5907ebb5587e93ab2ec3b0053def1cc4" refkind="member"><highlight class="normal"><sp/><sp/>std::vector<std::shared_ptr<iceberg::SortOrder>><sp/><ref refid="structiceberg_1_1TableMetadata_1a5907ebb5587e93ab2ec3b0053def1cc4" kindref="member">sort_orders</ref>;</highlight></codeline> |
| <codeline lineno="119" refid="structiceberg_1_1TableMetadata_1a7a94776809248aa5cd662c9f7bb03d59" refkind="member"><highlight class="normal"><sp/><sp/>int32_t<sp/><ref refid="structiceberg_1_1TableMetadata_1a7a94776809248aa5cd662c9f7bb03d59" kindref="member">default_sort_order_id</ref>;</highlight></codeline> |
| <codeline lineno="121" refid="structiceberg_1_1TableMetadata_1a4729379ffb32fd8b8046165482718b81" refkind="member"><highlight class="normal"><sp/><sp/>std::unordered_map<std::string,<sp/>std::shared_ptr<SnapshotRef>><sp/><ref refid="structiceberg_1_1TableMetadata_1a4729379ffb32fd8b8046165482718b81" kindref="member">refs</ref>;</highlight></codeline> |
| <codeline lineno="123" refid="structiceberg_1_1TableMetadata_1ab71ba7cc74ad20d823f3aff32e6566a9" refkind="member"><highlight class="normal"><sp/><sp/>std::vector<std::shared_ptr<struct<sp/>StatisticsFile>><sp/><ref refid="structiceberg_1_1TableMetadata_1ab71ba7cc74ad20d823f3aff32e6566a9" kindref="member">statistics</ref>;</highlight></codeline> |
| <codeline lineno="125" refid="structiceberg_1_1TableMetadata_1a98ebf368798e69856e71decfe98f9441" refkind="member"><highlight class="normal"><sp/><sp/>std::vector<std::shared_ptr<struct<sp/>PartitionStatisticsFile>><sp/><ref refid="structiceberg_1_1TableMetadata_1a98ebf368798e69856e71decfe98f9441" kindref="member">partition_statistics</ref>;</highlight></codeline> |
| <codeline lineno="127" refid="structiceberg_1_1TableMetadata_1a9cd9badc1b5db6b13a10d1cfd35ba153" refkind="member"><highlight class="normal"><sp/><sp/>int64_t<sp/><ref refid="structiceberg_1_1TableMetadata_1a9cd9badc1b5db6b13a10d1cfd35ba153" kindref="member">next_row_id</ref>;</highlight></codeline> |
| <codeline lineno="128"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="129"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<std::unique_ptr<TableMetadata>><sp/>Make(</highlight></codeline> |
| <codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classiceberg_1_1Schema" kindref="compound">iceberg::Schema</ref>&<sp/>schema,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classiceberg_1_1PartitionSpec" kindref="compound">iceberg::PartitionSpec</ref>&<sp/>spec,</highlight></codeline> |
| <codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classiceberg_1_1SortOrder" kindref="compound">iceberg::SortOrder</ref>&<sp/>sort_order,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string&<sp/>location,</highlight></codeline> |
| <codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::unordered_map<std::string,<sp/>std::string>&<sp/>properties,</highlight></codeline> |
| <codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>format_version<sp/>=<sp/>kDefaultTableFormatVersion);</highlight></codeline> |
| <codeline lineno="134"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="137"><highlight class="normal"><sp/><sp/>Result<std::shared_ptr<iceberg::Schema>><sp/><ref refid="classiceberg_1_1Schema" kindref="compound">Schema</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="140"><highlight class="normal"><sp/><sp/>Result<std::shared_ptr<iceberg::Schema>><sp/>SchemaById(int32_t<sp/>schema_id)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="143"><highlight class="normal"><sp/><sp/>Result<std::shared_ptr<iceberg::PartitionSpec>><sp/><ref refid="classiceberg_1_1PartitionSpec" kindref="compound">PartitionSpec</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="146"><highlight class="normal"><sp/><sp/>Result<std::shared_ptr<iceberg::PartitionSpec>><sp/>PartitionSpecById(</highlight></codeline> |
| <codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>int32_t<sp/>spec_id)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="150"><highlight class="normal"><sp/><sp/>Result<std::shared_ptr<iceberg::SortOrder>><sp/><ref refid="classiceberg_1_1SortOrder" kindref="compound">SortOrder</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="153"><highlight class="normal"><sp/><sp/>Result<std::shared_ptr<iceberg::SortOrder>><sp/>SortOrderById(int32_t<sp/>sort_order_id)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="156"><highlight class="normal"><sp/><sp/>Result<std::shared_ptr<iceberg::Snapshot>><sp/><ref refid="structiceberg_1_1Snapshot" kindref="compound">Snapshot</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="159"><highlight class="normal"><sp/><sp/>Result<std::shared_ptr<iceberg::Snapshot>><sp/>SnapshotById(int64_t<sp/>snapshot_id)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="161"><highlight class="normal"><sp/><sp/>int64_t<sp/>NextSequenceNumber()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="162"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="163"><highlight class="normal"><sp/><sp/>ICEBERG_EXPORT<sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>operator==(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>&<sp/>lhs,</highlight></codeline> |
| <codeline lineno="164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>&<sp/>rhs);</highlight></codeline> |
| <codeline lineno="165"><highlight class="normal">};</highlight></codeline> |
| <codeline lineno="166"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="167"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Cache<sp/>for<sp/>table<sp/>metadata<sp/>mappings<sp/>to<sp/>facilitate<sp/>fast<sp/>lookups.</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="168" refid="classiceberg_1_1TableMetadataCache" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="classiceberg_1_1TableMetadataCache" kindref="compound">TableMetadataCache</ref><sp/>{</highlight></codeline> |
| <codeline lineno="169"><highlight class="normal"><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline> |
| <codeline lineno="170"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">explicit</highlight><highlight class="normal"><sp/><ref refid="classiceberg_1_1TableMetadataCache" kindref="compound">TableMetadataCache</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>metadata)<sp/>:<sp/>metadata_(metadata)<sp/>{}</highlight></codeline> |
| <codeline lineno="171"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="172"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/><</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T></highlight></codeline> |
| <codeline lineno="173"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">ByIdMap<sp/>=<sp/>std::unordered_map<int32_t,<sp/>std::shared_ptr<T>>;</highlight></codeline> |
| <codeline lineno="174"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">SchemasMap<sp/>=<sp/>ByIdMap<Schema>;</highlight></codeline> |
| <codeline lineno="175"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">PartitionSpecsMap<sp/>=<sp/>ByIdMap<PartitionSpec>;</highlight></codeline> |
| <codeline lineno="176"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">SortOrdersMap<sp/>=<sp/>ByIdMap<SortOrder>;</highlight></codeline> |
| <codeline lineno="177"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">SnapshotsMap<sp/>=<sp/>std::unordered_map<int64_t,<sp/>std::shared_ptr<Snapshot>>;</highlight></codeline> |
| <codeline lineno="178"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">SchemasMapRef<sp/>=<sp/>std::reference_wrapper<const<sp/>SchemasMap>;</highlight></codeline> |
| <codeline lineno="179"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">PartitionSpecsMapRef<sp/>=<sp/>std::reference_wrapper<const<sp/>PartitionSpecsMap>;</highlight></codeline> |
| <codeline lineno="180"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">SortOrdersMapRef<sp/>=<sp/>std::reference_wrapper<const<sp/>SortOrdersMap>;</highlight></codeline> |
| <codeline lineno="181"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">SnapshotsMapRef<sp/>=<sp/>std::reference_wrapper<const<sp/>SnapshotsMap>;</highlight></codeline> |
| <codeline lineno="182"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="183"><highlight class="normal"><sp/><sp/>Result<SchemasMapRef><sp/>GetSchemasById()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="184"><highlight class="normal"><sp/><sp/>Result<PartitionSpecsMapRef><sp/>GetPartitionSpecsById()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="185"><highlight class="normal"><sp/><sp/>Result<SortOrdersMapRef><sp/>GetSortOrdersById()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="186"><highlight class="normal"><sp/><sp/>Result<SnapshotsMapRef><sp/>GetSnapshotsById()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="187"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="188"><highlight class="normal"><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline> |
| <codeline lineno="189"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<SchemasMap><sp/>InitSchemasMap(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>metadata);</highlight></codeline> |
| <codeline lineno="190"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<PartitionSpecsMap><sp/>InitPartitionSpecsMap(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>metadata);</highlight></codeline> |
| <codeline lineno="191"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<SortOrdersMap><sp/>InitSortOrdersMap(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>metadata);</highlight></codeline> |
| <codeline lineno="192"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<SnapshotsMap><sp/>InitSnapshotMap(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>metadata);</highlight></codeline> |
| <codeline lineno="193"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="194"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>metadata_;</highlight></codeline> |
| <codeline lineno="195"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1Lazy" kindref="compound">Lazy<InitSchemasMap></ref><sp/>schemas_map_;</highlight></codeline> |
| <codeline lineno="196"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1Lazy" kindref="compound">Lazy<InitPartitionSpecsMap></ref><sp/>partition_specs_map_;</highlight></codeline> |
| <codeline lineno="197"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1Lazy" kindref="compound">Lazy<InitSortOrdersMap></ref><sp/>sort_orders_map_;</highlight></codeline> |
| <codeline lineno="198"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1Lazy" kindref="compound">Lazy<InitSnapshotMap></ref><sp/>snapshot_map_;</highlight></codeline> |
| <codeline lineno="199"><highlight class="normal">};</highlight></codeline> |
| <codeline lineno="200"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="202"><highlight class="normal">ICEBERG_EXPORT<sp/>std::string<sp/>ToString(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1SnapshotLogEntry" kindref="compound">SnapshotLogEntry</ref>&<sp/>entry);</highlight></codeline> |
| <codeline lineno="203"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="205"><highlight class="normal">ICEBERG_EXPORT<sp/>std::string<sp/>ToString(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1MetadataLogEntry" kindref="compound">MetadataLogEntry</ref>&<sp/>entry);</highlight></codeline> |
| <codeline lineno="206"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="220" refid="classiceberg_1_1TableMetadataBuilder" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classiceberg_1_1ErrorCollector" kindref="compound">ErrorCollector</ref><sp/>{</highlight></codeline> |
| <codeline lineno="221"><highlight class="normal"><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline> |
| <codeline lineno="226"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>std::unique_ptr<TableMetadataBuilder><sp/>BuildFromEmpty(</highlight></codeline> |
| <codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>int8_t<sp/>format_version<sp/>=<sp/>TableMetadata::kDefaultTableFormatVersion);</highlight></codeline> |
| <codeline lineno="228"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="234"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>std::unique_ptr<TableMetadataBuilder><sp/>BuildFrom(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>base);</highlight></codeline> |
| <codeline lineno="235"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="240"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>ApplyChangesForCreate(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>&<sp/>base);</highlight></codeline> |
| <codeline lineno="241"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="246"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetMetadataLocation(std::string_view<sp/>metadata_location);</highlight></codeline> |
| <codeline lineno="247"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="252"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetPreviousMetadataLocation(</highlight></codeline> |
| <codeline lineno="253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>std::string_view<sp/>previous_metadata_location);</highlight></codeline> |
| <codeline lineno="254"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="259"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>AssignUUID();</highlight></codeline> |
| <codeline lineno="260"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="265"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>AssignUUID(std::string_view<sp/><ref refid="group__type-factories_1gafcf0f5e6522390678b91a9515b174bcf" kindref="member">uuid</ref>);</highlight></codeline> |
| <codeline lineno="266"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="271"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>UpgradeFormatVersion(int8_t<sp/>new_format_version);</highlight></codeline> |
| <codeline lineno="272"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="278"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetCurrentSchema(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::shared_ptr<Schema>&<sp/>schema,</highlight></codeline> |
| <codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>int32_t<sp/>new_last_column_id);</highlight></codeline> |
| <codeline lineno="280"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="285"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetCurrentSchema(int32_t<sp/>schema_id);</highlight></codeline> |
| <codeline lineno="286"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="291"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>AddSchema(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::shared_ptr<Schema>&<sp/>schema);</highlight></codeline> |
| <codeline lineno="292"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="297"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetDefaultPartitionSpec(std::shared_ptr<PartitionSpec><sp/>spec);</highlight></codeline> |
| <codeline lineno="298"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="303"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetDefaultPartitionSpec(int32_t<sp/>spec_id);</highlight></codeline> |
| <codeline lineno="304"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="309"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>AddPartitionSpec(std::shared_ptr<PartitionSpec><sp/>spec);</highlight></codeline> |
| <codeline lineno="310"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="315"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>RemovePartitionSpecs(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector<int32_t>&<sp/>spec_ids);</highlight></codeline> |
| <codeline lineno="316"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="321"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>RemoveSchemas(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::unordered_set<int32_t>&<sp/>schema_ids);</highlight></codeline> |
| <codeline lineno="322"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="327"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetDefaultSortOrder(std::shared_ptr<SortOrder><sp/>order);</highlight></codeline> |
| <codeline lineno="328"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="333"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetDefaultSortOrder(int32_t<sp/>order_id);</highlight></codeline> |
| <codeline lineno="334"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="339"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>AddSortOrder(std::shared_ptr<SortOrder><sp/>order);</highlight></codeline> |
| <codeline lineno="340"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="345"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>AddSnapshot(std::shared_ptr<Snapshot><sp/>snapshot);</highlight></codeline> |
| <codeline lineno="346"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="352"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetBranchSnapshot(int64_t<sp/>snapshot_id,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string&<sp/>branch);</highlight></codeline> |
| <codeline lineno="353"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="359"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetBranchSnapshot(std::shared_ptr<Snapshot><sp/>snapshot,</highlight></codeline> |
| <codeline lineno="360"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string&<sp/>branch);</highlight></codeline> |
| <codeline lineno="361"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="367"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetRef(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string&<sp/>name,<sp/>std::shared_ptr<SnapshotRef><sp/>ref);</highlight></codeline> |
| <codeline lineno="368"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="373"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>RemoveRef(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string&<sp/>name);</highlight></codeline> |
| <codeline lineno="374"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="379"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>RemoveSnapshots(</highlight></codeline> |
| <codeline lineno="380"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector<std::shared_ptr<Snapshot>>&<sp/>snapshots_to_remove);</highlight></codeline> |
| <codeline lineno="381"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="386"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>RemoveSnapshots(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector<int64_t>&<sp/>snapshot_ids);</highlight></codeline> |
| <codeline lineno="387"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="395"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SuppressHistoricalSnapshots();</highlight></codeline> |
| <codeline lineno="396"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="401"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetStatistics(std::shared_ptr<StatisticsFile><sp/>statistics_file);</highlight></codeline> |
| <codeline lineno="402"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="407"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>RemoveStatistics(int64_t<sp/>snapshot_id);</highlight></codeline> |
| <codeline lineno="408"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="413"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetPartitionStatistics(</highlight></codeline> |
| <codeline lineno="414"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::shared_ptr<PartitionStatisticsFile>&<sp/>partition_statistics_file);</highlight></codeline> |
| <codeline lineno="415"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="420"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>RemovePartitionStatistics(int64_t<sp/>snapshot_id);</highlight></codeline> |
| <codeline lineno="421"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="426"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetProperties(</highlight></codeline> |
| <codeline lineno="427"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::unordered_map<std::string,<sp/>std::string>&<sp/>updated);</highlight></codeline> |
| <codeline lineno="428"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="433"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>RemoveProperties(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::unordered_set<std::string>&<sp/>removed);</highlight></codeline> |
| <codeline lineno="434"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="439"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>SetLocation(std::string_view<sp/>location);</highlight></codeline> |
| <codeline lineno="440"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="445"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>AddEncryptionKey(std::shared_ptr<EncryptedKey><sp/>key);</highlight></codeline> |
| <codeline lineno="446"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="451"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>RemoveEncryptionKey(std::string_view<sp/>key_id);</highlight></codeline> |
| <codeline lineno="452"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="456"><highlight class="normal"><sp/><sp/>Result<std::unique_ptr<TableMetadata>><sp/>Build();</highlight></codeline> |
| <codeline lineno="457"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="459"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector<std::unique_ptr<TableUpdate>>&<sp/>changes()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="460"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="462"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>base()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="463"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="465"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>&<sp/>current()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="466"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="468" refid="classiceberg_1_1TableMetadataBuilder_1a01116a784408673fe0132d4c7e3cba86" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder_1a01116a784408673fe0132d4c7e3cba86" kindref="member">~TableMetadataBuilder</ref>()<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="469"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="470"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>Delete<sp/>copy<sp/>operations<sp/>(use<sp/>BuildFrom<sp/>to<sp/>create<sp/>a<sp/>new<sp/>builder)</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="471"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&)<sp/>=<sp/></highlight><highlight class="keyword">delete</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="472"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>operator=(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&)<sp/>=<sp/></highlight><highlight class="keyword">delete</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="473"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="474"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>Enable<sp/>move<sp/>operations</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="475"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>(<ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&&)<sp/>noexcept;</highlight></codeline> |
| <codeline lineno="476"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&<sp/>operator=(<ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>&&)<sp/>noexcept;</highlight></codeline> |
| <codeline lineno="477"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="478"><highlight class="normal"><sp/>private:</highlight></codeline> |
| <codeline lineno="480"><highlight class="normal"><sp/><sp/>explicit<sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>(int8_t<sp/>format_version);</highlight></codeline> |
| <codeline lineno="481"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="483"><highlight class="normal"><sp/><sp/>explicit<sp/><ref refid="classiceberg_1_1TableMetadataBuilder" kindref="compound">TableMetadataBuilder</ref>(const<sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>base);</highlight></codeline> |
| <codeline lineno="484"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="486"><highlight class="normal"><sp/><sp/>struct<sp/><ref refid="classiceberg_1_1TableMetadataBuilder_1_1Impl" kindref="compound">Impl</ref>;</highlight></codeline> |
| <codeline lineno="487"><highlight class="normal"><sp/><sp/><ref refid="namespacestd" kindref="compound">std</ref>::unique_ptr<<ref refid="classiceberg_1_1TableMetadataBuilder_1_1Impl" kindref="compound">Impl</ref>><sp/>impl_;</highlight></codeline> |
| <codeline lineno="488"><highlight class="normal">};</highlight></codeline> |
| <codeline lineno="489"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="491"><highlight class="normal">enum<sp/>class<sp/>ICEBERG_EXPORT<sp/>MetadataFileCodecType<sp/>{</highlight></codeline> |
| <codeline lineno="492"><highlight class="normal"><sp/><sp/>kNone,</highlight></codeline> |
| <codeline lineno="493"><highlight class="normal"><sp/><sp/>kGzip,</highlight></codeline> |
| <codeline lineno="494"><highlight class="normal">};</highlight></codeline> |
| <codeline lineno="495"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="497" refid="structiceberg_1_1TableMetadataUtil" refkind="compound"><highlight class="keyword">struct<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="structiceberg_1_1TableMetadataUtil" kindref="compound">TableMetadataUtil</ref><sp/>{</highlight></codeline> |
| <codeline lineno="498" refid="structiceberg_1_1TableMetadataUtil_1_1Codec" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="structiceberg_1_1TableMetadataUtil_1_1Codec" kindref="compound">Codec</ref><sp/>{</highlight></codeline> |
| <codeline lineno="503"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<MetadataFileCodecType><sp/>FromString(std::string_view<sp/>name);</highlight></codeline> |
| <codeline lineno="504"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="509"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<MetadataFileCodecType><sp/>FromFileName(std::string_view<sp/>file_name);</highlight></codeline> |
| <codeline lineno="510"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="514"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<std::string><sp/>NameToFileExtension(std::string_view<sp/>codec);</highlight></codeline> |
| <codeline lineno="515"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="519"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>std::string<sp/>TypeToFileExtension(MetadataFileCodecType<sp/>codec);</highlight></codeline> |
| <codeline lineno="520"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="521"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/>kTableMetadataFileSuffix<sp/>=<sp/></highlight><highlight class="stringliteral">".metadata.json"</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="522"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/>kCompGzipTableMetadataFileSuffix<sp/>=</highlight></codeline> |
| <codeline lineno="523"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">".metadata.json.gz"</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="524"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/>kGzipTableMetadataFileSuffix<sp/>=<sp/></highlight><highlight class="stringliteral">".gz.metadata.json"</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="525"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/>kGzipTableMetadataFileExtension<sp/>=<sp/></highlight><highlight class="stringliteral">".gz"</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="526"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/>kCodecTypeGzip<sp/>=<sp/></highlight><highlight class="stringliteral">"GZIP"</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="527"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/>kCodecTypeNone<sp/>=<sp/></highlight><highlight class="stringliteral">"NONE"</highlight><highlight class="normal">;</highlight></codeline> |
| <codeline lineno="528"><highlight class="normal"><sp/><sp/>};</highlight></codeline> |
| <codeline lineno="529"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="536"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<std::unique_ptr<TableMetadata>><sp/>Read(</highlight></codeline> |
| <codeline lineno="537"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/><ref refid="classiceberg_1_1FileIO" kindref="compound">FileIO</ref>&<sp/>io,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string&<sp/>location,</highlight></codeline> |
| <codeline lineno="538"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>std::optional<size_t><sp/>length<sp/>=<sp/>std::nullopt);</highlight></codeline> |
| <codeline lineno="539"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="550"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<std::string><sp/>Write(<ref refid="classiceberg_1_1FileIO" kindref="compound">FileIO</ref>&<sp/>io,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>base,</highlight></codeline> |
| <codeline lineno="551"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string&<sp/>base_metadata_location,</highlight></codeline> |
| <codeline lineno="552"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>&<sp/>metadata);</highlight></codeline> |
| <codeline lineno="553"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="563"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>DeleteRemovedMetadataFiles(<ref refid="classiceberg_1_1FileIO" kindref="compound">FileIO</ref>&<sp/>io,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>*<sp/>base,</highlight></codeline> |
| <codeline lineno="564"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>&<sp/>metadata);</highlight></codeline> |
| <codeline lineno="565"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="571"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Status<sp/>Write(<ref refid="classiceberg_1_1FileIO" kindref="compound">FileIO</ref>&<sp/>io,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string&<sp/>location,</highlight></codeline> |
| <codeline lineno="572"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>&<sp/>metadata);</highlight></codeline> |
| <codeline lineno="573"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="574"><highlight class="normal"><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline> |
| <codeline lineno="584"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>int32_t<sp/>ParseVersionFromLocation(std::string_view<sp/>metadata_location);</highlight></codeline> |
| <codeline lineno="585"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="591"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Result<std::string><sp/>NewTableMetadataFilePath(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1TableMetadata" kindref="compound">TableMetadata</ref>&<sp/>metadata,</highlight></codeline> |
| <codeline lineno="592"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>int32_t<sp/>version);</highlight></codeline> |
| <codeline lineno="593"><highlight class="normal">};</highlight></codeline> |
| <codeline lineno="594"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="595"><highlight class="normal">}<sp/><sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>iceberg</highlight><highlight class="normal"></highlight></codeline> |
| <codeline lineno="596"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="597"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespacestd" kindref="compound">std</ref><sp/>{</highlight></codeline> |
| <codeline lineno="598"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/><></highlight></codeline> |
| <codeline lineno="599" refid="structstd_1_1hash_3_01iceberg_1_1MetadataLogEntry_01_4" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">hash<iceberg::MetadataLogEntry><sp/>{</highlight></codeline> |
| <codeline lineno="600"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>operator()(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1MetadataLogEntry" kindref="compound">iceberg::MetadataLogEntry</ref>&<sp/>m)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal"><sp/>{</highlight></codeline> |
| <codeline lineno="601"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::hash<std::string>{}(m.<ref refid="structiceberg_1_1MetadataLogEntry_1a16b2eb3d8ea815567a323becdab69bba" kindref="member">metadata_file</ref>);</highlight></codeline> |
| <codeline lineno="602"><highlight class="normal"><sp/><sp/>}</highlight></codeline> |
| <codeline lineno="603"><highlight class="normal">};</highlight></codeline> |
| <codeline lineno="604"><highlight class="normal"></highlight></codeline> |
| <codeline lineno="605"><highlight class="normal">}<sp/><sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>std</highlight><highlight class="normal"></highlight></codeline> |
| </programlisting> |
| <location file="iceberg/table_metadata.h"/> |
| </compounddef> |
| </doxygen> |