26#include <unordered_map>
55 std::string table_name, std::shared_ptr<TransactionContext> ctx);
80 const std::shared_ptr<Snapshot>& snapshot)
override;
81 std::unordered_map<std::string, std::string>
Summary()
override;
87 explicit FastAppend(std::string table_name, std::shared_ptr<TransactionContext> ctx);
105 std::string table_name_;
106 std::unordered_map<int32_t, DataFileSet> new_data_files_by_spec_;
111 std::unordered_map<std::string, std::string> custom_summary_properties_;
112 std::vector<ManifestFile> append_manifests_;
114 std::vector<ManifestFile> append_manifests_to_copy_;
115 std::vector<ManifestFile> rewritten_append_manifests_;
116 std::vector<ManifestFile> new_manifests_;
119 bool has_new_files_{
false};
API for appending new files in a table.
Definition fast_append.h:47
FastAppend & AppendFile(const std::shared_ptr< DataFile > &file)
Append a DataFile to the table.
void SetSummaryProperty(const std::string &property, const std::string &value) override
Set a summary property.
bool CleanupAfterCommit() const override
Check if cleanup should happen after commit.
std::unordered_map< std::string, std::string > Summary() override
Get the summary map for this operation.
Result< std::vector< ManifestFile > > Apply(const TableMetadata &metadata_to_update, const std::shared_ptr< Snapshot > &snapshot) override
Apply the update's changes to the given metadata and snapshot.
FastAppend & AppendManifest(const ManifestFile &manifest)
Append a ManifestFile to the table.
Status CleanUncommitted(const std::unordered_set< std::string > &committed) override
Clean up any uncommitted manifests that were created.
std::string operation() override
A string that describes the action that produced the new snapshot.
static Result< std::unique_ptr< FastAppend > > Make(std::string table_name, std::shared_ptr< TransactionContext > ctx)
Create a new FastAppend instance.
Helper class for building snapshot summaries.
Definition snapshot.h:265
API for table changes that produce snapshots.
Definition snapshot_update.h:49
Define symbol visibility macros for core Iceberg APIs.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:33
std::expected< T, E > Result
Result alias.
Definition result.h:88
Define Result, Status, and error helpers.
Define base APIs for snapshot updates.
Entry in a manifest list.
Definition manifest_list.h:85