50 int64_t target_file_size_in_bytes);
61 Status WriteAddedEntry(std::shared_ptr<DataFile> file,
62 std::optional<int64_t> data_sequence_number = std::nullopt);
75 Status WriteExistingEntry(std::shared_ptr<DataFile> file, int64_t file_snapshot_id,
76 int64_t data_sequence_number,
77 std::optional<int64_t> file_sequence_number = std::nullopt);
90 Status WriteDeletedEntry(std::shared_ptr<DataFile> file, int64_t data_sequence_number,
91 std::optional<int64_t> file_sequence_number = std::nullopt);
99 Result<std::vector<ManifestFile>> ToManifestFiles()
const;
104 Result<ManifestWriter*> CurrentWriter();
110 bool ShouldRollToNewFile()
const;
113 Status CloseCurrentWriter();
117 static constexpr int64_t kRowsDivisor = 250;
120 int64_t target_file_size_in_bytes_;
121 std::vector<ManifestFile> manifest_files_;
123 int64_t current_file_rows_{0};
124 std::unique_ptr<ManifestWriter> current_writer_{
nullptr};