26#include <unordered_map>
55 std::string table_name, std::shared_ptr<TransactionContext> ctx);
81 const std::shared_ptr<Snapshot>& snapshot)
override;
82 std::unordered_map<std::string, std::string>
Summary()
override;
87 explicit FastAppend(std::string table_name, std::shared_ptr<TransactionContext> ctx);
104 std::string table_name_;
105 std::unordered_map<int32_t, DataFileSet> new_data_files_by_spec_;
110 std::unordered_map<std::string, std::string> custom_summary_properties_;
111 std::vector<ManifestFile> append_manifests_;
113 std::vector<ManifestFile> append_manifests_to_copy_;
114 std::vector<ManifestFile> rewritten_append_manifests_;
115 std::vector<ManifestFile> new_manifests_;
118 bool has_new_files_{
false};
API for appending new files in a table.
Definition fast_append.h:47
static Result< std::shared_ptr< FastAppend > > Make(std::string table_name, std::shared_ptr< TransactionContext > ctx)
Create a new FastAppend instance.
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.
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.
Helper class for building snapshot summaries.
Definition snapshot.h:266
API for table changes that produce snapshots.
Definition snapshot_update.h:61
Definition expected.h:1199
Define symbol visibility macros for core Iceberg APIs.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:34
Define Result, Status, and error helpers.
Define base APIs for snapshot updates.
Entry in a manifest list.
Definition manifest_list.h:86