I seem to recall delta encodings might use these routines as well, in which
case IIRC you get zero bit width if all values in a block are equal.

On Wednesday, December 18, 2024, Gang Wu <ust...@gmail.com> wrote:

> IIUC, the bit-width could be 0 when the dictionary contains a single entry
> and then all entry ids are zeros. I haven't tried to create such a file and
> I suspect that RLE (rather than bit-packing) is in use in this case.
>
> Best,
> Gang
>
> On Thu, Dec 19, 2024 at 9:43 AM Marko Divjak <mdivja...@gmail.com> wrote:
>
> > Hi,
> >
> > I was exploring the apache arrow code and saw this this
> > <
> > https://github.com/apache/arrow/blob/b655852b260d3b8c3fe457795df0f4
> 2a2ff9c98c/cpp/src/arrow/util/bpacking64_default.h#L35C1-L40C2
> > >
> > in
> > the repo.
> > What does it mean when bit width is zero in dictionary encoded files?
> > What is the scenario where data will be encoded with bit width zero and
> how
> > could such a file be generated?
> >
> > Regards,
> > Marko
> >
>

Reply via email to