@@ -135,21 +135,10 @@ class ManifestGroupTest : public testing::TestWithParam<int> {
135135 std::shared_ptr<PartitionSpec> spec) {
136136 const std::string manifest_path = MakeManifestPath ();
137137
138- Result<std::unique_ptr<ManifestWriter>> writer_result =
139- NotSupported (" Format version: {}" , format_version);
140-
141- if (format_version == 1 ) {
142- writer_result = ManifestWriter::MakeV1Writer (snapshot_id, manifest_path, file_io_,
143- spec, schema_);
144- } else if (format_version == 2 ) {
145- writer_result = ManifestWriter::MakeV2Writer (snapshot_id, manifest_path, file_io_,
146- spec, schema_, ManifestContent::kData );
147- } else if (format_version == 3 ) {
148- writer_result =
149- ManifestWriter::MakeV3Writer (snapshot_id, /* first_row_id=*/ 0L , manifest_path,
150- file_io_, spec, schema_, ManifestContent::kData );
151- }
152-
138+ auto writer_result = ManifestWriter::MakeWriter (
139+ format_version, snapshot_id, manifest_path, file_io_, spec, schema_,
140+ ManifestContent::kData ,
141+ /* first_row_id=*/ format_version >= 3 ? std::optional<int64_t >(0L ) : std::nullopt );
153142 EXPECT_THAT (writer_result, IsOk ());
154143 auto writer = std::move (writer_result.value ());
155144
@@ -168,18 +157,11 @@ class ManifestGroupTest : public testing::TestWithParam<int> {
168157 std::shared_ptr<PartitionSpec> spec) {
169158 const std::string manifest_path = MakeManifestPath ();
170159
171- Result<std::unique_ptr<ManifestWriter>> writer_result =
172- NotSupported (" Format version: {}" , format_version);
173-
174- if (format_version == 2 ) {
175- writer_result = ManifestWriter::MakeV2Writer (
176- snapshot_id, manifest_path, file_io_, spec, schema_, ManifestContent::kDeletes );
177- } else if (format_version == 3 ) {
178- writer_result = ManifestWriter::MakeV3Writer (
179- snapshot_id, /* first_row_id=*/ std::nullopt , manifest_path, file_io_, spec,
180- schema_, ManifestContent::kDeletes );
181- }
182-
160+ auto writer_result = ManifestWriter::MakeWriter (
161+ format_version, snapshot_id, manifest_path, file_io_, spec, schema_,
162+ ManifestContent::kDeletes ,
163+ /* first_row_id=*/ format_version >= 3 ? std::optional<int64_t >(std::nullopt )
164+ : std::nullopt );
183165 EXPECT_THAT (writer_result, IsOk ());
184166 auto writer = std::move (writer_result.value ());
185167
@@ -213,21 +195,10 @@ class ManifestGroupTest : public testing::TestWithParam<int> {
213195 constexpr int64_t kParentSnapshotId = 0L ;
214196 constexpr int64_t kSnapshotFirstRowId = 0L ;
215197
216- Result<std::unique_ptr<ManifestListWriter>> writer_result =
217- NotSupported (" Format version: {}" , format_version);
218-
219- if (format_version == 1 ) {
220- writer_result = ManifestListWriter::MakeV1Writer (snapshot_id, kParentSnapshotId ,
221- manifest_list_path, file_io_);
222- } else if (format_version == 2 ) {
223- writer_result = ManifestListWriter::MakeV2Writer (
224- snapshot_id, kParentSnapshotId , sequence_number, manifest_list_path, file_io_);
225- } else if (format_version == 3 ) {
226- writer_result = ManifestListWriter::MakeV3Writer (
227- snapshot_id, kParentSnapshotId , sequence_number, kSnapshotFirstRowId ,
228- manifest_list_path, file_io_);
229- }
230-
198+ auto writer_result = ManifestListWriter::MakeWriter (
199+ format_version, snapshot_id, kParentSnapshotId , manifest_list_path, file_io_,
200+ format_version >= 2 ? std::optional<int64_t >(sequence_number) : std::nullopt ,
201+ format_version >= 3 ? std::optional<int64_t >(kSnapshotFirstRowId ) : std::nullopt );
231202 EXPECT_THAT (writer_result, IsOk ());
232203 auto writer = std::move (writer_result.value ());
233204 EXPECT_THAT (writer->Add (manifest), IsOk ());
0 commit comments