You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug, including details regarding any error messages, version, and platform.
The MapArray class doesn't override the Accept method, so implementing IArrowArrayVisitor<MapArray> doesn't work as expected. If the visitor also implements IArrowArrayVisitor<ListArray> then this implementation will be used, otherwise the base IArrowArrayVisitor.Visit(IArrowArray) method is called.
Component(s)
C#
The text was updated successfully, but these errors were encountered:
### Rationale for this change
This allows users to implement `IArrowArrayVisitor<MapArray>` and have the `Visit(MapArray)` method called instead of `Visit(ListArray)` or `Visit(IArrowArray)`.
### What changes are included in this PR?
Overrides the `Accept` method to check whether the visitor implements `Visit(MapArray)`, and if not, delegates to the base implementation to handle `IArrowArrayVisitor<ListArray>` or fall back to using an `IArrowArrayVisitor`.
### Are these changes tested?
Yes, I've added unit tests.
### Are there any user-facing changes?
Yes, this is a user-facing change.
* GitHub Issue: #40788
Authored-by: Adam Reeve <adreeve@gmail.com>
Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
Describe the bug, including details regarding any error messages, version, and platform.
The
MapArray
class doesn't override theAccept
method, so implementingIArrowArrayVisitor<MapArray>
doesn't work as expected. If the visitor also implementsIArrowArrayVisitor<ListArray>
then this implementation will be used, otherwise the baseIArrowArrayVisitor.Visit(IArrowArray)
method is called.Component(s)
C#
The text was updated successfully, but these errors were encountered: