@@ -53,14 +53,16 @@ Status ManifestWriter::Close() {
5353 return writer_->Close ();
5454}
5555
56- Result<std::unique_ptr<Writer>> OpenFileWriter (std::string_view location,
57- std::shared_ptr<Schema> schema,
58- std::shared_ptr<FileIO> file_io) {
56+ Result<std::unique_ptr<Writer>> OpenFileWriter (
57+ std::string_view location, std::shared_ptr<Schema> schema,
58+ std::shared_ptr<FileIO> file_io,
59+ std::unordered_map<std::string, std::string> properties) {
5960 ICEBERG_ASSIGN_OR_RAISE (
60- auto writer,
61- WriterFactoryRegistry::Open (FileFormatType::kAvro , {.path = std::string (location),
62- .schema = std::move (schema),
63- .io = std::move (file_io)}));
61+ auto writer, WriterFactoryRegistry::Open (FileFormatType::kAvro ,
62+ {.path = std::string (location),
63+ .schema = std::move (schema),
64+ .io = std::move (file_io),
65+ .properties = std::move (properties)}));
6466 return writer;
6567}
6668
@@ -73,9 +75,9 @@ Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV1Writer(
7375 ICEBERG_RETURN_UNEXPECTED (adapter->StartAppending ());
7476
7577 auto schema = adapter->schema ();
76- ICEBERG_ASSIGN_OR_RAISE (
77- auto writer ,
78- OpenFileWriter (manifest_location, std::move (schema ), std::move (file_io )));
78+ ICEBERG_ASSIGN_OR_RAISE (auto writer,
79+ OpenFileWriter (manifest_location, std::move (schema) ,
80+ std::move (file_io ), adapter-> metadata ( )));
7981 return std::make_unique<ManifestWriter>(std::move (writer), std::move (adapter));
8082}
8183
@@ -88,9 +90,9 @@ Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV2Writer(
8890 ICEBERG_RETURN_UNEXPECTED (adapter->StartAppending ());
8991
9092 auto schema = adapter->schema ();
91- ICEBERG_ASSIGN_OR_RAISE (
92- auto writer ,
93- OpenFileWriter (manifest_location, std::move (schema ), std::move (file_io )));
93+ ICEBERG_ASSIGN_OR_RAISE (auto writer,
94+ OpenFileWriter (manifest_location, std::move (schema) ,
95+ std::move (file_io ), adapter-> metadata ( )));
9496 return std::make_unique<ManifestWriter>(std::move (writer), std::move (adapter));
9597}
9698
@@ -104,9 +106,9 @@ Result<std::unique_ptr<ManifestWriter>> ManifestWriter::MakeV3Writer(
104106 ICEBERG_RETURN_UNEXPECTED (adapter->StartAppending ());
105107
106108 auto schema = adapter->schema ();
107- ICEBERG_ASSIGN_OR_RAISE (
108- auto writer ,
109- OpenFileWriter (manifest_location, std::move (schema ), std::move (file_io )));
109+ ICEBERG_ASSIGN_OR_RAISE (auto writer,
110+ OpenFileWriter (manifest_location, std::move (schema) ,
111+ std::move (file_io ), adapter-> metadata ( )));
110112 return std::make_unique<ManifestWriter>(std::move (writer), std::move (adapter));
111113}
112114
@@ -142,9 +144,9 @@ Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV1Writer(
142144 ICEBERG_RETURN_UNEXPECTED (adapter->StartAppending ());
143145
144146 auto schema = adapter->schema ();
145- ICEBERG_ASSIGN_OR_RAISE (
146- auto writer ,
147- OpenFileWriter (manifest_list_location, std::move (schema ), std::move (file_io )));
147+ ICEBERG_ASSIGN_OR_RAISE (auto writer,
148+ OpenFileWriter (manifest_list_location, std::move (schema) ,
149+ std::move (file_io ), adapter-> metadata ( )));
148150 return std::make_unique<ManifestListWriter>(std::move (writer), std::move (adapter));
149151}
150152
@@ -158,9 +160,9 @@ Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV2Writer(
158160 ICEBERG_RETURN_UNEXPECTED (adapter->StartAppending ());
159161
160162 auto schema = adapter->schema ();
161- ICEBERG_ASSIGN_OR_RAISE (
162- auto writer ,
163- OpenFileWriter (manifest_list_location, std::move (schema ), std::move (file_io )));
163+ ICEBERG_ASSIGN_OR_RAISE (auto writer,
164+ OpenFileWriter (manifest_list_location, std::move (schema) ,
165+ std::move (file_io ), adapter-> metadata ( )));
164166
165167 return std::make_unique<ManifestListWriter>(std::move (writer), std::move (adapter));
166168}
@@ -175,9 +177,9 @@ Result<std::unique_ptr<ManifestListWriter>> ManifestListWriter::MakeV3Writer(
175177 ICEBERG_RETURN_UNEXPECTED (adapter->StartAppending ());
176178
177179 auto schema = adapter->schema ();
178- ICEBERG_ASSIGN_OR_RAISE (
179- auto writer ,
180- OpenFileWriter (manifest_list_location, std::move (schema ), std::move (file_io )));
180+ ICEBERG_ASSIGN_OR_RAISE (auto writer,
181+ OpenFileWriter (manifest_list_location, std::move (schema) ,
182+ std::move (file_io ), adapter-> metadata ( )));
181183 return std::make_unique<ManifestListWriter>(std::move (writer), std::move (adapter));
182184}
183185
0 commit comments