dongxiao1198 commented on code in PR #176: URL: https://github.com/apache/iceberg-cpp/pull/176#discussion_r2281515192
########## src/iceberg/manifest_writer.h: ########## @@ -35,14 +35,24 @@ namespace iceberg { class ICEBERG_EXPORT ManifestWriter { public: virtual ~ManifestWriter() = default; - virtual Status WriteManifestEntries( - const std::vector<ManifestEntry>& entries) const = 0; + + /// \brief Write manifest entry to file + /// \param entry Manifest entry to write. + /// \return Status::OK() if all entry was written successfully + virtual Status WriteManifestEntry(const ManifestEntry& entry) const = 0; + + /// \brief Close writer and flush to storage. + virtual Status Close() = 0; /// \brief Creates a writer for a manifest file. + /// \param format_version Format version of the manifest. + /// \param snapshot_id ID of the snapshot. + /// \param first_row_id First row ID of the snapshot. /// \param manifest_location Path to the manifest file. /// \param file_io File IO implementation to use. /// \return A Result containing the writer or an error. static Result<std::unique_ptr<ManifestWriter>> MakeWriter( + int32_t format_version, int64_t snapshot_id, int64_t first_row_id, Review Comment: Yes we can change those params to optional. This "ManifestListWriter::Make" builder function is a unified entry like org.apache.iceberg.ManifestLists#write in java implement. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org