Commits


Joel Lubinitsky authored and GitHub committed cf9f3db95ca
GH-43276: [Go][Parquet] Make DeltaBitPacking Encoders/Decoders Generic (#43279) ### Rationale for this change Fixes: #43276 The slice of `miniBlockValues` in the decoder was getting reset between calls to `Decode`, while the remaining internal state of the decoder was persisted. By making the decoder generic, it became possible to bring `miniBlockValues` into the base decoder. The encoder was also made generic for consistency. By avoiding reflection, encoding performance is improved (from around `700 MB/s` before to about `1100 MB/s` after on my machine). ### What changes are included in this PR? - Passing test case reproducing the reported bug. - Benchmarks for `DeltaBinaryPacked` - Refactor of `deltaBitPackDecoder` and `deltaBitPackEncoder` to make them generic. ### Are these changes tested? Yes ### Are there any user-facing changes? The DeltaBitPackDecoders should no longer panic when decoding multiple batches from a single page. * GitHub Issue: #43276 Authored-by: Joel Lubinitsky <joellubi@gmail.com> Signed-off-by: Joel Lubinitsky <joellubi@gmail.com>