Hello Felipe, it's a bit per value as per memory layout documentation.
François On Fri, Mar 22, 2019 at 10:48 AM Felipe Aramburu <fel...@blazingdb.com> wrote: > In the builder base class I see this api > > > https://github.com/apache/arrow/blob/ad1697e5d25eeaff5630421f55b0120f45cf0ce1/cpp/src/arrow/array/builder_base.h#L149 > > // Vector append. Treat each zero byte as a nullzero. If valid_bytes is > null > // assume all of length bits are valid. > void UnsafeAppendToBitmap(const uint8_t* valid_bytes, int64_t length) > > Is valid_bytes an allocation of size (int8_t) * length, using an entire > byte to indicate validity for each element in the array or is this a null > bitmask where in each byte in valid_bytes encodes 8 values, one per bit? > > If this is using a byte per value is there an approved way of using a > builder to initialize an array using the memory layout described here > https://arrow.apache.org/docs/memory_layout.html#null-bitmaps? >