54 static Result<std::unique_ptr<FastAppend>> Make(
55 std::string table_name, std::shared_ptr<TransactionContext> ctx);
61 FastAppend& AppendFile(
const std::shared_ptr<DataFile>& file);
76 std::string operation()
override;
78 Result<std::vector<ManifestFile>> Apply(
80 const std::shared_ptr<Snapshot>& snapshot)
override;
81 std::unordered_map<std::string, std::string> Summary()
override;
82 void SetSummaryProperty(
const std::string& property,
const std::string& value)
override;
83 Status CleanUncommitted(
const std::unordered_set<std::string>& committed)
override;
84 bool CleanupAfterCommit()
const override;
87 explicit FastAppend(std::string table_name, std::shared_ptr<TransactionContext> ctx);
90 Result<std::shared_ptr<PartitionSpec>> Spec(int32_t spec_id);
97 Result<ManifestFile> CopyManifest(
const ManifestFile& manifest,
bool update_summary);
102 Result<std::vector<ManifestFile>> WriteNewManifests();
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};