@@ -53,6 +53,8 @@ Status ManifestWriter::Close() {
5353 return writer_->Close ();
5454}
5555
56+ ManifestContent ManifestWriter::content () const { return adapter_->content (); }
57+
5658Result<std::unique_ptr<Writer>> OpenFileWriter (
5759 std::string_view location, std::shared_ptr<Schema> schema,
5860 std::shared_ptr<FileIO> file_io,
@@ -83,9 +85,10 @@ Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV1Writer(
8385
8486Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV2Writer (
8587 std::optional<int64_t > snapshot_id, std::string_view manifest_location,
86- std::shared_ptr<FileIO> file_io, std::shared_ptr<PartitionSpec> partition_spec) {
87- auto adapter =
88- std::make_unique<ManifestEntryAdapterV2>(snapshot_id, std::move (partition_spec));
88+ std::shared_ptr<FileIO> file_io, std::shared_ptr<PartitionSpec> partition_spec,
89+ ManifestContent content) {
90+ auto adapter = std::make_unique<ManifestEntryAdapterV2>(
91+ snapshot_id, std::move (partition_spec), content);
8992 ICEBERG_RETURN_UNEXPECTED (adapter->Init ());
9093 ICEBERG_RETURN_UNEXPECTED (adapter->StartAppending ());
9194
@@ -99,9 +102,9 @@ Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV2Writer(
99102Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV3Writer (
100103 std::optional<int64_t > snapshot_id, std::optional<int64_t > first_row_id,
101104 std::string_view manifest_location, std::shared_ptr<FileIO> file_io,
102- std::shared_ptr<PartitionSpec> partition_spec) {
103- auto adapter = std::make_unique<ManifestEntryAdapterV3>(snapshot_id, first_row_id,
104- std::move (partition_spec));
105+ std::shared_ptr<PartitionSpec> partition_spec, ManifestContent content ) {
106+ auto adapter = std::make_unique<ManifestEntryAdapterV3>(
107+ snapshot_id, first_row_id, std::move (partition_spec), content );
105108 ICEBERG_RETURN_UNEXPECTED (adapter->Init ());
106109 ICEBERG_RETURN_UNEXPECTED (adapter->StartAppending ());
107110
@@ -136,6 +139,10 @@ Status ManifestListWriter::Close() {
136139 return writer_->Close ();
137140}
138141
142+ std::optional<int64_t > ManifestListWriter::next_row_id () const {
143+ return adapter_->next_row_id ();
144+ }
145+
139146Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV1Writer (
140147 int64_t snapshot_id, std::optional<int64_t > parent_snapshot_id,
141148 std::string_view manifest_list_location, std::shared_ptr<FileIO> file_io) {
@@ -169,7 +176,7 @@ Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV2Writer(
169176
170177Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV3Writer (
171178 int64_t snapshot_id, std::optional<int64_t > parent_snapshot_id,
172- int64_t sequence_number, std::optional< int64_t > first_row_id,
179+ int64_t sequence_number, int64_t first_row_id,
173180 std::string_view manifest_list_location, std::shared_ptr<FileIO> file_io) {
174181 auto adapter = std::make_unique<ManifestFileAdapterV3>(snapshot_id, parent_snapshot_id,
175182 sequence_number, first_row_id);
0 commit comments