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
But as far as I understand Apache.Arrow.Tests namespace is not publicly available. Is that correct? Is it possible to expose some of the methods from it to be public?
Hi @andrewshandy, I think a PR adding this to the public API would be welcome.
From a code search and seeing its presence on https://github.com/apache/arrow/blob/main/csharp/README.md#not-implemented, it looks like comparison isn't (publicly) supported for Table as well as other types. If you do take this on, it might be good to (1) file a tracking issue for the overall feature and use sub-issues/PRs for the pieces and (2) review the semantics of similar operations in C++, Python, etc. and figure out if C# can match or if it needs to deviate for some reason.
But as far as I understand Apache.Arrow.Tests namespace is not publicly available. Is that correct?
Yes that's correct, to expose this functionality publicly it would need to be moved into the Apache.Arrow project or a new project.
I don't imagine we'd want to expose the ArrowReaderVerifier or ArrayComparer classes directly, as once something is in the public API it's hard to change later, but adding new methods for comparing arrays, record batches and tables to the public API would be useful.
Comparing tables is a little bit more complicated than the existing functionality for comparing record batches, because two tables that contain the same data but are chunked differently should be considered equal. If you expect chunking to be the same, you might want to start with adding a way to compare record batches and compare tables by comparing all of their record batches.
Great! Thank you both for the info! I will start working on this then, I will probably start from comparing record batches and see what else would be needed to implement it 🤗
Activity
[-][C#] Expose method to compare 2 Record Batches[/-][+][C#] Expose method to compare 2 Tables[/+]amoeba commentedon May 20, 2025
Hi @andrewshandy, I think a PR adding this to the public API would be welcome.
From a code search and seeing its presence on https://github.com/apache/arrow/blob/main/csharp/README.md#not-implemented, it looks like comparison isn't (publicly) supported for Table as well as other types. If you do take this on, it might be good to (1) file a tracking issue for the overall feature and use sub-issues/PRs for the pieces and (2) review the semantics of similar operations in C++, Python, etc. and figure out if C# can match or if it needs to deviate for some reason.
cc @CurtHagenlocher @adamreeve in case they want to add any context
adamreeve commentedon May 20, 2025
Yes that's correct, to expose this functionality publicly it would need to be moved into the
Apache.Arrowproject or a new project.I don't imagine we'd want to expose the
ArrowReaderVerifierorArrayComparerclasses directly, as once something is in the public API it's hard to change later, but adding new methods for comparing arrays, record batches and tables to the public API would be useful.Comparing tables is a little bit more complicated than the existing functionality for comparing record batches, because two tables that contain the same data but are chunked differently should be considered equal. If you expect chunking to be the same, you might want to start with adding a way to compare record batches and compare tables by comparing all of their record batches.
andrewshandy commentedon May 20, 2025
Great! Thank you both for the info! I will start working on this then, I will probably start from comparing record batches and see what else would be needed to implement it 🤗
CurtHagenlocher commentedon Nov 18, 2025
Superseded by apache/arrow-dotnet#183.