The problem in NS-49 was that the packed transfer spec failed because during transfer only the bits for existing elements are considered when merging data into the validity buffer. padding bits are kept at 0.
However, the default validity buffer created when converting an Array of scalars into a BytePointerColVector would be set to "all valid" even for the padding bits.
This created a discrepancy after a round trip VH->VE->VH.
In this PR I've adapted the conversion code to adopt the "padding bits are 0" default.
Something appears to be still wrong :/ the TPCH tests fail with just slightly wrong results.
The problem in NS-49 was that the packed transfer spec failed because during transfer only the bits for existing elements are considered when merging data into the validity buffer. padding bits are kept at 0.
However, the default validity buffer created when converting an Array of scalars into a BytePointerColVector would be set to "all valid" even for the padding bits.
This created a discrepancy after a round trip VH->VE->VH.
In this PR I've adapted the conversion code to adopt the "padding bits are 0" default.
Something appears to be still wrong :/ the TPCH tests fail with just slightly wrong results.