Skip to content

Commit b9f47c5

Browse files
kouwesm
authored andcommitted
Use garrow::check() with Result
1 parent bffef74 commit b9f47c5

File tree

2 files changed

+24
-19
lines changed

2 files changed

+24
-19
lines changed

c_glib/arrow-glib/reader.cpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -296,14 +296,12 @@ GArrowRecordBatchStreamReader *
296296
garrow_record_batch_stream_reader_new(GArrowInputStream *stream,
297297
GError **error)
298298
{
299-
using BaseType = arrow::ipc::RecordBatchReader;
300299
using ReaderType = arrow::ipc::RecordBatchStreamReader;
301300

302301
auto arrow_input_stream = garrow_input_stream_get_raw(stream);
303-
std::shared_ptr<BaseType> arrow_reader;
304-
auto status = ReaderType::Open(arrow_input_stream).Value(&arrow_reader);
305-
if (garrow_error_check(error, status, "[record-batch-stream-reader][open]")) {
306-
auto subtype = std::dynamic_pointer_cast<ReaderType>(arrow_reader);
302+
auto arrow_reader = ReaderType::Open(arrow_input_stream);
303+
if (garrow::check(error, arrow_reader, "[record-batch-stream-reader][open]")) {
304+
auto subtype = std::dynamic_pointer_cast<ReaderType>(*arrow_reader);
307305
return garrow_record_batch_stream_reader_new_raw(&subtype);
308306
} else {
309307
return NULL;
@@ -411,13 +409,13 @@ GArrowRecordBatchFileReader *
411409
garrow_record_batch_file_reader_new(GArrowSeekableInputStream *file,
412410
GError **error)
413411
{
414-
auto arrow_random_access_file = garrow_seekable_input_stream_get_raw(file);
412+
using ReaderType = arrow::ipc::RecordBatchFileReader;
415413

416-
std::shared_ptr<arrow::ipc::RecordBatchFileReader> arrow_reader;
417-
auto status =
418-
arrow::ipc::RecordBatchFileReader::Open(arrow_random_access_file).Value(&arrow_reader);
419-
if (garrow_error_check(error, status, "[record-batch-file-reader][open]")) {
420-
return garrow_record_batch_file_reader_new_raw(&arrow_reader);
414+
auto arrow_random_access_file = garrow_seekable_input_stream_get_raw(file);
415+
auto arrow_reader = ReaderType::Open(arrow_random_access_file);
416+
if (garrow::check(error, arrow_reader, "[record-batch-file-reader][open]")) {
417+
auto subtype = std::dynamic_pointer_cast<ReaderType>(*arrow_reader);
418+
return garrow_record_batch_file_reader_new_raw(&subtype);
421419
} else {
422420
return NULL;
423421
}

c_glib/arrow-glib/writer.cpp

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -239,10 +239,13 @@ garrow_record_batch_stream_writer_new(GArrowOutputStream *sink,
239239
GError **error)
240240
{
241241
auto arrow_sink = garrow_output_stream_get_raw(sink).get();
242-
std::shared_ptr<arrow::ipc::RecordBatchWriter> arrow_writer;
243-
auto status = arrow::ipc::NewStreamWriter(
244-
arrow_sink, garrow_schema_get_raw(schema)).Value(&arrow_writer);
245-
if (garrow_error_check(error, status, "[record-batch-stream-writer][open]")) {
242+
auto arrow_schema = garrow_schema_get_raw(schema);
243+
auto arrow_writer_result =
244+
arrow::ipc::NewStreamWriter(arrow_sink, arrow_schema);
245+
if (garrow::check(error,
246+
arrow_writer_result,
247+
"[record-batch-stream-writer][open]")) {
248+
auto arrow_writer = *arrow_writer_result;
246249
return garrow_record_batch_stream_writer_new_raw(&arrow_writer);
247250
} else {
248251
return NULL;
@@ -280,11 +283,15 @@ garrow_record_batch_file_writer_new(GArrowOutputStream *sink,
280283
GArrowSchema *schema,
281284
GError **error)
282285
{
283-
auto arrow_sink = garrow_output_stream_get_raw(sink);
286+
auto arrow_sink = garrow_output_stream_get_raw(sink).get();
287+
auto arrow_schema = garrow_schema_get_raw(schema);
284288
std::shared_ptr<arrow::ipc::RecordBatchWriter> arrow_writer;
285-
auto status = arrow::ipc::NewFileWriter(
286-
arrow_sink.get(), garrow_schema_get_raw(schema)).Value(&arrow_writer);
287-
if (garrow_error_check(error, status, "[record-batch-file-writer][open]")) {
289+
auto arrow_writer_result =
290+
arrow::ipc::NewFileWriter(arrow_sink, arrow_schema);
291+
if (garrow::check(error,
292+
arrow_writer_result,
293+
"[record-batch-file-writer][open]")) {
294+
auto arrow_writer = *arrow_writer_result;
288295
return garrow_record_batch_file_writer_new_raw(&arrow_writer);
289296
} else {
290297
return NULL;

0 commit comments

Comments
 (0)