Closed anjakefala closed 11 months ago
Hi @anjakefala. It can be that we are too strict here. I have to take a better look later to see what we must/can do in such a case.
Thanks so much for looking into it @ritchie46!
Hi @ritchie46!
I just did a local installation of polars
using https://github.com/jorgecarleitao/arrow2/commit/92050ec64877fe1348116e0f5dc6e06b949c0519 as the arrow2
revision, and that indeed resolved this issue for me. =) I appreciate it!
Do you happen to have any timelines for when this fix will formally appear in polars
?
I just saw that the main
branch of polars
has had its arrow2
dependency updated. :blush: Thank you!
Hello! =)
In the spec for the C Data Interface there are allowable scenarios in
Arrow-C++
where null buffers get created:The latter case has been bumped into by a couple of people independently:
While writing a numerically typed empty table to a Feather file v1 with memory map on:
Writing and reading a table through IPC:
If using polars, which uses
arrow2
, you get an OutOfSpec, thrown here.From my perspective, considering that null buffers are allowed in Arrow-C++, I would propose removing the requirement in
arrow2
. My argument is that it is too strict of a requirement. You bump into situations like this where folks need to find workarounds for writing and reading empty tables when using software that hasarrow2
as a dependency.Why did the requirement get added? Is there an important purpose requiring non-null buffers serves (i.e. would something non-ideal happen further down the line)? Is it possible to remove it?