toddfarmer / arrow-migration

0 stars 1 forks source link

Format: Specify LSB bit ordering in bit arrays #1918

Closed toddfarmer closed 8 years ago

toddfarmer commented 8 years ago

Note: This issue was originally created as ARROW-56. Please see the migration documentation for further details.

Original Issue Description:

In https://github.com/apache/arrow/blob/master/format/Layout.md, we describe bitmaps for nulls (presumably same encoding for boolean data) and provide the C code for accessing a bit:

bitmask[j / 8] & (1 << (j % 8))

Implicitly this is LSB bit-endianness (https://en.wikipedia.org/wiki/Bit_numbering) – see the discussion of bitpacking in the Parquet format: https://github.com/apache/parquet-format/blob/master/Encodings.md#run-length-encoding--bit-packing-hybrid-rle--3

If this is what we want, we should make this aspect of the format explicit.

Migrated issue participants:

Reporter: Wes McKinney (wesm) Assignee: Wes McKinney (wesm)

toddfarmer commented 8 years ago

Note: Comment by Wes McKinney (wesm): Resolved in https://github.com/apache/arrow/commit/c06b7654bccfe8c461869a6e5922668896c27c45