rok commented on PR #50430:
URL: https://github.com/apache/arrow/pull/50430#issuecomment-5061436197
Nice work — the parity coverage here is careful (the
poison-value-after-duplicate-key ordering test in particular).
One small test gap: `LargeListArray._getitem_py` and
`FixedSizeListArray._getitem_py` now thread `maps_as_pydicts` through to their
values, but the parity matrix in `test_to_pylist_maps_as_pydicts` only covers
`list_(map)`. Two more entries would exercise those overrides:
```diff
arrays = [
flat,
flat.slice(1),
pa.array([[[('k', 1)], None], None], type=pa.list_(map_type)),
+ pa.array([[[('k', 1)], None], None], type=pa.large_list(map_type)),
+ pa.array([[[('k', 1)], None], None], type=pa.list_(map_type, 2)),
pa.array([[("o", [("i", 5)])]],
type=pa.map_(pa.string(), map_type)),
pa.array([{"m": [("k", 1)]}, None],
type=pa.struct([("m", map_type)])),
]
```
The same data works for all three (each non-null outer element has exactly 2
children, so it's valid for the fixed-size list too), and it mirrors how
`test_to_pylist_bulk_paths` covers `large_list`/`list_(..., 2)` alongside
`list_`. The duplicate-key/strict/lossy sections don't need changes — those
semantics live in `MapArray._getitem_py`, which is already covered; this just
pins that the two list variants keep propagating the option.
--
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]