diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 407e04d..51022a3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -17,6 +17,7 @@ target_link_libraries(TouchParquet arrow_shared parquet_shared range-v3) +target_compile_options(TouchParquet PRIVATE -Werror=unused-result) add_library(CircuitParquet STATIC ${CIRCUIT_SRCS}) target_include_directories(CircuitParquet PUBLIC @@ -29,6 +30,7 @@ target_link_libraries(CircuitParquet nlohmann_json::nlohmann_json HighFive range-v3) +target_compile_options(CircuitParquet PRIVATE -Werror=unused-result) add_executable(touch2parquet touch2parquet.cpp) target_link_libraries(touch2parquet diff --git a/src/circuit/parquet_reader.cpp b/src/circuit/parquet_reader.cpp index 8e7808b..65bf773 100644 --- a/src/circuit/parquet_reader.cpp +++ b/src/circuit/parquet_reader.cpp @@ -49,7 +49,10 @@ void CircuitReaderParquet::init_data_reader() { reader_ = parquet::ParquetFileReader::OpenFile(filename_, false); } // NOTE that reader is unique. We must give it up to the other reader - parquet::arrow::FileReader::Make(arrow::default_memory_pool(), std::move(reader_), &data_reader_); + const auto status = parquet::arrow::FileReader::Make(arrow::default_memory_pool(), std::move(reader_), &data_reader_); + if (!status.ok()) { + throw std::runtime_error(status.ToString()); + } cur_row_group_ = 0; } @@ -66,7 +69,10 @@ uint32_t CircuitReaderParquet::fillBuffer(CircuitData* buf, uint32_t length) { return 0; } - data_reader_->ReadRowGroup(cur_row_group_++, &(buf->row_group)); + const auto status = data_reader_->ReadRowGroup(cur_row_group_++, &(buf->row_group)); + if (!status.ok()) { + throw std::runtime_error(status.ToString()); + } return (uint32_t) buf->row_group->num_rows(); } diff --git a/src/touches/parquet_writer.cpp b/src/touches/parquet_writer.cpp index a81056d..c552c3f 100644 --- a/src/touches/parquet_writer.cpp +++ b/src/touches/parquet_writer.cpp @@ -138,7 +138,10 @@ TouchWriterParquet::~TouchWriterParquet() { _writeBuffer(_buffer_offset); } file_writer->Close(); - out_file->Close(); + const auto status = out_file->Close(); + if (!status.ok()) { + std::clog << status.ToString() << std::endl; + } }