Hi! I opened two issues recently on a spec incompatibility between arrow2 and arrow-C++: https://github.com/apache/arrow/issues/36960 and https://github.com/jorgecarleitao/arrow2/issues/1524.
Namely, there are situations where arrow-C++ will legally create a null buffer, and arrow2 does not allow null buffers. I am happy to provide code-effort, but I am looking for consensus from the community on this issue. I think an interoperability issue like this is important to resolve, especially with the plans to unify arrow2 and arrow-rs: https://github.com/apache/arrow-rs/issues/1176 The `kNonNullFiller` ( https://github.com/apache/arrow/blob/a06b2618420ef89431373a9e8f07a5da64d546a5/cpp/src/arrow/util/ubsan.h#L33) exists for being used in cases where null buffers can cause issues. I am proposing changes such that it gets pointed to for representing the reading of an empty table. Are there any thoughts? I welcome engagement on either of the issues. This problem can, in theory, be solved within either project. ~Anja