diff --git a/cpp/src/parquet/encoding.cc b/cpp/src/parquet/encoding.cc index 9ab792d7e50d8..9c95eb74d3c0b 100644 --- a/cpp/src/parquet/encoding.cc +++ b/cpp/src/parquet/encoding.cc @@ -2414,11 +2414,7 @@ class DeltaBitPackDecoder : public DecoderImpl, virtual public TypedDecodernum_values_ = num_values; - if (decoder_ == nullptr) { - decoder_ = std::make_shared<::arrow::bit_util::BitReader>(data, len); - } else { - decoder_->Reset(data, len); - } + decoder_ = std::make_shared<::arrow::bit_util::BitReader>(data, len); InitHeader(); } @@ -2777,11 +2773,7 @@ class DeltaLengthByteArrayDecoder : public DecoderImpl, void SetData(int num_values, const uint8_t* data, int len) override { DecoderImpl::SetData(num_values, data, len); - if (decoder_ == nullptr) { - decoder_ = std::make_shared<::arrow::bit_util::BitReader>(data, len); - } else { - decoder_->Reset(data, len); - } + decoder_ = std::make_shared<::arrow::bit_util::BitReader>(data, len); DecodeLengths(); }