@@ -43,8 +43,8 @@ class AvroReaderBenchmark {
4343 const std::string& path) {
4444 ArrowSchema arrow_c_schema;
4545 auto status = ToArrowSchema (*schema, &arrow_c_schema);
46- if (! status.ok ()) {
47- std::cerr << " Failed to convert schema: " << status.message << std::endl;
46+ if (status.has_error ()) {
47+ std::cerr << " Failed to convert schema: " << status.error (). message << std::endl;
4848 return ;
4949 }
5050
@@ -81,14 +81,14 @@ class AvroReaderBenchmark {
8181 auto writer = std::move (writer_result.value ());
8282
8383 status = writer->Write (&arrow_array);
84- if (! status.ok ()) {
85- std::cerr << " Failed to write: " << status.message << std::endl;
84+ if (status.has_error ()) {
85+ std::cerr << " Failed to write: " << status.error (). message << std::endl;
8686 return ;
8787 }
8888
8989 status = writer->Close ();
90- if (! status.ok ()) {
91- std::cerr << " Failed to close: " << status.message << std::endl;
90+ if (status.has_error ()) {
91+ std::cerr << " Failed to close: " << status.error (). message << std::endl;
9292 return ;
9393 }
9494
@@ -97,19 +97,19 @@ class AvroReaderBenchmark {
9797
9898 double BenchmarkRead (const std::string& path, std::shared_ptr<Schema> schema,
9999 bool use_direct_decoder, int iterations = 10 ) {
100- auto reader_properties = ReaderProperties::default_properties ();
101- reader_properties->Set (ReaderProperties::kAvroUseDirectDecoder , use_direct_decoder);
102-
103100 double total_time_ms = 0.0 ;
104101 int64_t total_rows = 0 ;
105102
106103 for (int i = 0 ; i < iterations; ++i) {
107- auto reader_result = ReaderFactoryRegistry::Open (FileFormatType::kAvro ,
108- {.path = path,
109- .length = file_length_,
110- .io = file_io_,
111- .projection = schema,
112- .properties = reader_properties});
104+ auto reader_properties = ReaderProperties::default_properties ();
105+ reader_properties->Set (ReaderProperties::kAvroUseDirectDecoder , use_direct_decoder);
106+
107+ auto reader_result = ReaderFactoryRegistry::Open (
108+ FileFormatType::kAvro , {.path = path,
109+ .length = file_length_,
110+ .io = file_io_,
111+ .projection = schema,
112+ .properties = std::move (reader_properties)});
113113 if (!reader_result.has_value ()) {
114114 std::cerr << " Failed to open reader: " << reader_result.error ().message
115115 << std::endl;
@@ -141,8 +141,9 @@ class AvroReaderBenchmark {
141141 total_rows = batch_rows;
142142
143143 auto close_status = reader->Close ();
144- if (!close_status.ok ()) {
145- std::cerr << " Failed to close reader: " << close_status.message << std::endl;
144+ if (close_status.has_error ()) {
145+ std::cerr << " Failed to close reader: " << close_status.error ().message
146+ << std::endl;
146147 return -1 ;
147148 }
148149 }
@@ -178,17 +179,16 @@ class AvroReaderBenchmark {
178179} // namespace iceberg::avro
179180
180181int main () {
181- using namespace iceberg ;
182- using namespace iceberg ::avro;
183-
184- AvroReaderBenchmark benchmark;
182+ iceberg::avro::AvroReaderBenchmark benchmark;
185183
186184 // Benchmark 1: Simple primitive types
187185 {
188- auto schema = std::make_shared<Schema>(std::vector<SchemaField>{
189- SchemaField::MakeRequired (1 , " id" , std::make_shared<IntType>()),
190- SchemaField::MakeRequired (2 , " value" , std::make_shared<DoubleType>()),
191- SchemaField::MakeRequired (3 , " name" , std::make_shared<StringType>())});
186+ auto schema = std::make_shared<iceberg::Schema>(std::vector<iceberg::SchemaField>{
187+ iceberg::SchemaField::MakeRequired (1 , " id" , std::make_shared<iceberg::IntType>()),
188+ iceberg::SchemaField::MakeRequired (2 , " value" ,
189+ std::make_shared<iceberg::DoubleType>()),
190+ iceberg::SchemaField::MakeRequired (3 , " name" ,
191+ std::make_shared<iceberg::StringType>())});
192192
193193 std::ostringstream json;
194194 json << " [" ;
@@ -203,15 +203,17 @@ int main() {
203203
204204 // Benchmark 2: Nested structs
205205 {
206- auto schema = std::make_shared<Schema>(std::vector<SchemaField>{
207- SchemaField::MakeRequired (1 , " id" , std::make_shared<IntType>()),
208- SchemaField::MakeRequired (
206+ auto schema = std::make_shared<iceberg:: Schema>(std::vector<iceberg:: SchemaField>{
207+ iceberg:: SchemaField::MakeRequired (1 , " id" , std::make_shared<iceberg:: IntType>()),
208+ iceberg:: SchemaField::MakeRequired (
209209 2 , " data" ,
210- std::make_shared<StructType>(std::vector<SchemaField>{
211- SchemaField::MakeRequired (3 , " x" , std::make_shared<DoubleType>()),
212- SchemaField::MakeRequired (4 , " y" , std::make_shared<DoubleType>()),
213- SchemaField::MakeRequired (5 , " label" ,
214- std::make_shared<StringType>())}))});
210+ std::make_shared<iceberg::StructType>(std::vector<iceberg::SchemaField>{
211+ iceberg::SchemaField::MakeRequired (
212+ 3 , " x" , std::make_shared<iceberg::DoubleType>()),
213+ iceberg::SchemaField::MakeRequired (
214+ 4 , " y" , std::make_shared<iceberg::DoubleType>()),
215+ iceberg::SchemaField::MakeRequired (
216+ 5 , " label" , std::make_shared<iceberg::StringType>())}))});
215217
216218 std::ostringstream json;
217219 json << " [" ;
@@ -227,11 +229,12 @@ int main() {
227229
228230 // Benchmark 3: Lists
229231 {
230- auto schema = std::make_shared<Schema>(std::vector<SchemaField>{
231- SchemaField::MakeRequired (1 , " id" , std::make_shared<IntType>()),
232- SchemaField::MakeRequired (2 , " values" ,
233- std::make_shared<ListType>(SchemaField::MakeRequired (
234- 3 , " element" , std::make_shared<IntType>())))});
232+ auto schema = std::make_shared<iceberg::Schema>(std::vector<iceberg::SchemaField>{
233+ iceberg::SchemaField::MakeRequired (1 , " id" , std::make_shared<iceberg::IntType>()),
234+ iceberg::SchemaField::MakeRequired (
235+ 2 , " values" ,
236+ std::make_shared<iceberg::ListType>(iceberg::SchemaField::MakeRequired (
237+ 3 , " element" , std::make_shared<iceberg::IntType>())))});
235238
236239 std::ostringstream json;
237240 json << " [" ;
@@ -251,10 +254,12 @@ int main() {
251254
252255 // Benchmark 4: Optional fields with nulls
253256 {
254- auto schema = std::make_shared<Schema>(std::vector<SchemaField>{
255- SchemaField::MakeRequired (1 , " id" , std::make_shared<IntType>()),
256- SchemaField::MakeOptional (2 , " opt_int" , std::make_shared<IntType>()),
257- SchemaField::MakeOptional (3 , " opt_string" , std::make_shared<StringType>())});
257+ auto schema = std::make_shared<iceberg::Schema>(std::vector<iceberg::SchemaField>{
258+ iceberg::SchemaField::MakeRequired (1 , " id" , std::make_shared<iceberg::IntType>()),
259+ iceberg::SchemaField::MakeOptional (2 , " opt_int" ,
260+ std::make_shared<iceberg::IntType>()),
261+ iceberg::SchemaField::MakeOptional (3 , " opt_string" ,
262+ std::make_shared<iceberg::StringType>())});
258263
259264 std::ostringstream json;
260265 json << " [" ;
0 commit comments