58 static Result<std::unique_ptr<RewriteFiles>> Make(
59 std::string table_name, std::shared_ptr<TransactionContext> ctx);
72 RewriteFiles& DeleteDataFile(
const std::shared_ptr<DataFile>& data_file);
83 RewriteFiles& DeleteDeleteFile(
const std::shared_ptr<DataFile>& delete_file);
94 RewriteFiles& AddDataFile(
const std::shared_ptr<DataFile>& file);
105 RewriteFiles& AddDeleteFile(
const std::shared_ptr<DataFile>& delete_file);
122 RewriteFiles& AddDeleteFile(
const std::shared_ptr<DataFile>& delete_file,
123 int64_t data_sequence_number);
133 RewriteFiles& SetDataSequenceNumber(int64_t sequence_number);
145 const std::vector<std::shared_ptr<DataFile>>& files_to_delete,
146 const std::vector<std::shared_ptr<DataFile>>& files_to_add,
147 int64_t sequence_number);
158 const std::vector<std::shared_ptr<DataFile>>& data_files_to_replace,
159 const std::vector<std::shared_ptr<DataFile>>& delete_files_to_replace,
160 const std::vector<std::shared_ptr<DataFile>>& data_files_to_add,
161 const std::vector<std::shared_ptr<DataFile>>& delete_files_to_add);
171 RewriteFiles& ValidateFromSnapshot(int64_t snapshot_id);
173 std::string operation()
override;
177 const std::shared_ptr<Snapshot>& snapshot)
override;
179 explicit RewriteFiles(std::string table_name, std::shared_ptr<TransactionContext> ctx);
188 void ValidateReplacedAndAddedFiles();
194 std::optional<int64_t> starting_snapshot_id_;