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]

Reply via email to