Open GibbonJojo opened 1 day ago
@coastalwhite
I would not call this a regression. Parquet cannot store zero-field structs.
Before, we didn't support structs with zero fields in Polars, so they would automatically be cast to structs with 1 field.
I don't think breaking changes should be introduced in minor versions.
Generally, I think it's fine to not allow zero fields if parquet doesn't allow it. Even though in my opinion, I would prefer it, since it can happen regularly in my use case. But I should not expect my code to break by updating minor versions either way.
Edit: Sorry, sometimes my phones keyboard randomly closes, so I accidentally clicked on close.
I don't think breaking changes should be introduced in minor versions.
You don't have to state the obvious. We understand that. This is due to a bug fix and those have side effects.
Checks
Reproducible example
Log output
No response
Issue description
This worked in 1.9:
Apparently the dtype for all-empty structs changed from struct[1] to struct[0] as well
There's also a difference in fetching the structs:
It also works when atleast one struct/dict is not empty:
Expected behavior
Polars 1.10 should write the empty structs, just as 1.9 did
Installed versions