49 static Result<std::unique_ptr<FastAppend>> Make(
50 std::string table_name, std::shared_ptr<TransactionContext> ctx);
56 FastAppend& AppendFile(
const std::shared_ptr<DataFile>& file);
69 std::string operation()
override;
71 Result<std::vector<ManifestFile>> Apply(
73 const std::shared_ptr<Snapshot>& snapshot)
override;
74 std::unordered_map<std::string, std::string> Summary()
override;
75 void CleanUncommitted(
const std::unordered_set<std::string>& committed)
override;
76 bool CleanupAfterCommit()
const override;
79 explicit FastAppend(std::string table_name, std::shared_ptr<TransactionContext> ctx);
82 Result<std::shared_ptr<PartitionSpec>> Spec(int32_t spec_id);
88 Result<ManifestFile> CopyManifest(
const ManifestFile& manifest);
93 Result<std::vector<ManifestFile>> WriteNewManifests();
96 std::string table_name_;
97 std::unordered_map<int32_t, DataFileSet> new_data_files_by_spec_;
98 std::vector<ManifestFile> append_manifests_;
99 std::vector<ManifestFile> rewritten_append_manifests_;
100 std::vector<ManifestFile> new_manifests_;
101 bool has_new_files_{
false};