CurtHagenlocher commented on code in PR #41144:
URL: https://github.com/apache/arrow/pull/41144#discussion_r1561012789


##########
csharp/src/Apache.Arrow/Arrays/ArrayData.cs:
##########
@@ -28,12 +27,25 @@ public sealed class ArrayData : IDisposable
 
         public readonly IArrowType DataType;
         public readonly int Length;
-        public readonly int NullCount;
+        private int _nullCount;
         public readonly int Offset;
         public readonly ArrowBuffer[] Buffers;
         public readonly ArrayData[] Children;
         public readonly ArrayData Dictionary; // Only used for dictionary type
 
+        public int NullCount

Review Comment:
   Yeah, this is a tough one. The problem with ABI breakage is that it makes 
diamond-shaped dependency graphs unfixable without modifying some other 
dependency. Computing eagerly is a potential performance regression. Marking 
the original field as obsolete and defining a new property feels like it's 
probably the best option. I suspect most uses will go through 
IArrowArray.NullCount anyway, so the impact on existing source is likely to be 
small. The only painful part is probably coming up with a new name... .



-- 
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]

Reply via email to