westonpace commented on code in PR #34408:
URL: https://github.com/apache/arrow/pull/34408#discussion_r1140726096
##########
cpp/src/arrow/array/data.h:
##########
@@ -33,6 +33,19 @@
namespace arrow {
class Array;
+struct ArrayData;
+
+namespace internal {
+// ----------------------------------------------------------------------
+// Null handling for types without a validity bitmap
+
+ARROW_EXPORT bool IsNullSparseUnion(const ArrayData& data, int64_t i);
+ARROW_EXPORT bool IsNullDenseUnion(const ArrayData& data, int64_t i);
+ARROW_EXPORT bool IsNullRunEndEncoded(const ArrayData& data, int64_t i);
+
+ARROW_EXPORT bool UnionMayHaveLogicalNulls(const ArrayData& data);
+ARROW_EXPORT bool RunEndEncodedMayHaveLogicalNulls(const ArrayData& data);
Review Comment:
I think it's ok how it is. I just don't ever have a good sense for when
it's justified for leaving something in the header file for performance
reasons. Typically I think it would be nice for there to be some benchmark to
point to. Otherwise "it seems like this is important for performance" becomes
too subjective of a criteria to apply.
--
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]