Hattonuri opened a new issue, #39381: URL: https://github.com/apache/arrow/issues/39381
### Describe the bug, including details regarding any error messages, version, and platform. I write optional ints and read them using parquet::Int64Reader using `reader->ReadBatch(kBatchSizeOne, nullptr, nullptr, &tmp, &values_read)` (like it is in parquet::StreamReader) And this method always returns 1(and shifts it's internal value index) as the result of values_read. But it should return 0 for nulls and 1 for non-empty values. When i change nullptr to any pointer-to-value(and ignore result) everything works fine I assume that the issue is here https://github.com/apache/arrow/blob/cf44793204d88e0156669af102ff65f180a6b003/cpp/src/parquet/column_reader.cc#L1061-L1073 Which is used in ReadBatch Because if def_levels == nullptr that does not mean that the field is required ### Component(s) C++, Parquet -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
