Skip to content

Commit 87b2a1d

Browse files
committed
fix: review comments & make the ctors in manifest_writer.h private
1 parent cd1e6a7 commit 87b2a1d

3 files changed

Lines changed: 25 additions & 20 deletions

File tree

src/iceberg/manifest/manifest_writer.cc

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,8 @@ Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV1Writer(
294294
auto writer,
295295
OpenFileWriter(manifest_location, std::move(schema), std::move(file_io),
296296
adapter->metadata(), "manifest_entry"));
297-
return std::make_unique<ManifestWriter>(std::move(writer), std::move(adapter),
298-
manifest_location, std::nullopt);
297+
return std::unique_ptr<ManifestWriter>(new ManifestWriter(
298+
std::move(writer), std::move(adapter), manifest_location, std::nullopt));
299299
}
300300

301301
Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV2Writer(
@@ -324,8 +324,8 @@ Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV2Writer(
324324
auto writer,
325325
OpenFileWriter(manifest_location, std::move(schema), std::move(file_io),
326326
adapter->metadata(), "manifest_entry"));
327-
return std::make_unique<ManifestWriter>(std::move(writer), std::move(adapter),
328-
manifest_location, std::nullopt);
327+
return std::unique_ptr<ManifestWriter>(new ManifestWriter(
328+
std::move(writer), std::move(adapter), manifest_location, std::nullopt));
329329
}
330330

331331
Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV3Writer(
@@ -356,8 +356,8 @@ Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV3Writer(
356356
auto writer,
357357
OpenFileWriter(manifest_location, std::move(schema), std::move(file_io),
358358
adapter->metadata(), "manifest_entry"));
359-
return std::make_unique<ManifestWriter>(std::move(writer), std::move(adapter),
360-
manifest_location, first_row_id);
359+
return std::unique_ptr<ManifestWriter>(new ManifestWriter(
360+
std::move(writer), std::move(adapter), manifest_location, first_row_id));
361361
}
362362

363363
ManifestListWriter::ManifestListWriter(std::unique_ptr<Writer> writer,
@@ -406,7 +406,8 @@ Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV1Writer(
406406
auto writer,
407407
OpenFileWriter(manifest_list_location, std::move(schema), std::move(file_io),
408408
adapter->metadata(), "manifest_file"));
409-
return std::make_unique<ManifestListWriter>(std::move(writer), std::move(adapter));
409+
return std::unique_ptr<ManifestListWriter>(
410+
new ManifestListWriter(std::move(writer), std::move(adapter)));
410411
}
411412

412413
Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV2Writer(
@@ -424,7 +425,8 @@ Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV2Writer(
424425
OpenFileWriter(manifest_list_location, std::move(schema), std::move(file_io),
425426
adapter->metadata(), "manifest_file"));
426427

427-
return std::make_unique<ManifestListWriter>(std::move(writer), std::move(adapter));
428+
return std::unique_ptr<ManifestListWriter>(
429+
new ManifestListWriter(std::move(writer), std::move(adapter)));
428430
}
429431

430432
Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV3Writer(
@@ -441,7 +443,8 @@ Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV3Writer(
441443
auto writer,
442444
OpenFileWriter(manifest_list_location, std::move(schema), std::move(file_io),
443445
adapter->metadata(), "manifest_file"));
444-
return std::make_unique<ManifestListWriter>(std::move(writer), std::move(adapter));
446+
return std::unique_ptr<ManifestListWriter>(
447+
new ManifestListWriter(std::move(writer), std::move(adapter)));
445448
}
446449

447450
} // namespace iceberg

src/iceberg/manifest/manifest_writer.h

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@ namespace iceberg {
3737
/// \brief Write manifest entries to a manifest file.
3838
class ICEBERG_EXPORT ManifestWriter {
3939
public:
40-
ManifestWriter(std::unique_ptr<Writer> writer,
41-
std::unique_ptr<ManifestEntryAdapter> adapter,
42-
std::string_view manifest_location, std::optional<int64_t> first_row_id);
43-
4440
~ManifestWriter();
4541

4642
/// \brief Write the entry that all its fields are populated correctly.
@@ -159,11 +155,17 @@ class ICEBERG_EXPORT ManifestWriter {
159155
std::shared_ptr<Schema> current_schema, ManifestContent content);
160156

161157
private:
158+
// Private constructor for internal use only, use the static Make*Writer methods
159+
// instead.
160+
ManifestWriter(std::unique_ptr<Writer> writer,
161+
std::unique_ptr<class ManifestEntryAdapter> adapter,
162+
std::string_view manifest_location, std::optional<int64_t> first_row_id);
163+
162164
Status CheckDataFile(const DataFile& file) const;
163165

164166
static constexpr int64_t kBatchSize = 1024;
165167
std::unique_ptr<Writer> writer_;
166-
std::unique_ptr<ManifestEntryAdapter> adapter_;
168+
std::unique_ptr<class ManifestEntryAdapter> adapter_;
167169
bool closed_{false};
168170
std::string manifest_location_;
169171
std::optional<int64_t> first_row_id_;
@@ -181,9 +183,6 @@ class ICEBERG_EXPORT ManifestWriter {
181183
/// \brief Write manifest files to a manifest list file.
182184
class ICEBERG_EXPORT ManifestListWriter {
183185
public:
184-
ManifestListWriter(std::unique_ptr<Writer> writer,
185-
std::unique_ptr<ManifestFileAdapter> adapter);
186-
187186
~ManifestListWriter();
188187

189188
/// \brief Write manifest file to manifest list file.
@@ -238,9 +237,14 @@ class ICEBERG_EXPORT ManifestListWriter {
238237
std::string_view manifest_list_location, std::shared_ptr<FileIO> file_io);
239238

240239
private:
240+
// Private constructor for internal use only, use the static Make*Writer methods
241+
// instead.
242+
ManifestListWriter(std::unique_ptr<Writer> writer,
243+
std::unique_ptr<class ManifestFileAdapter> adapter);
244+
241245
static constexpr int64_t kBatchSize = 1024;
242246
std::unique_ptr<Writer> writer_;
243-
std::unique_ptr<ManifestFileAdapter> adapter_;
247+
std::unique_ptr<class ManifestFileAdapter> adapter_;
244248
};
245249

246250
} // namespace iceberg

src/iceberg/type_fwd.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,6 @@ class ManifestListReader;
141141
class ManifestListWriter;
142142
class ManifestReader;
143143
class ManifestWriter;
144-
class ManifestEntryAdapter;
145-
class ManifestFileAdapter;
146144

147145
struct ReaderOptions;
148146
struct WriterOptions;

0 commit comments

Comments
 (0)