This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/main by this push:
new c58f0b1f09 chore: Remove some deprecated functions from parquet crate
(#10035)
c58f0b1f09 is described below
commit c58f0b1f09fb455ec95d3d87a409c5cfc92940f1
Author: Ed Seidl <[email protected]>
AuthorDate: Mon Jun 1 07:32:15 2026 -0700
chore: Remove some deprecated functions from parquet crate (#10035)
# Which issue does this PR close?
None
# Rationale for this change
Tidying up for 59.0.0.
# What changes are included in this PR?
Removes public APIs that were due to be removed per the [deprecation
policy](https://github.com/apache/arrow-rs#deprecation-guidelines).
# Are these changes tested?
Should be covered by existing tests
# Are there any user-facing changes?
Yes, public functions have been removed, including
`ParquetMetaDataReader::with_page_indexes`, `read_columns_indexes`, and
`read_offset_indexes`.
---
parquet/src/arrow/async_reader/mod.rs | 11 ++--
parquet/src/arrow/mod.rs | 11 ++--
parquet/src/file/metadata/reader.rs | 78 +++++++-----------------
parquet/src/file/page_index/index_reader.rs | 93 -----------------------------
parquet/src/file/serialized_reader.rs | 32 +---------
parquet/tests/arrow_reader/bad_data.rs | 9 ++-
6 files changed, 35 insertions(+), 199 deletions(-)
diff --git a/parquet/src/arrow/async_reader/mod.rs
b/parquet/src/arrow/async_reader/mod.rs
index 3bba746e74..5a0083b716 100644
--- a/parquet/src/arrow/async_reader/mod.rs
+++ b/parquet/src/arrow/async_reader/mod.rs
@@ -1634,7 +1634,6 @@ mod tests {
}
#[tokio::test]
- #[allow(deprecated)]
async fn empty_offset_index_doesnt_panic_in_read_row_group() {
use tokio::fs::File;
let testdata = arrow::util::test_util::parquet_test_data();
@@ -1642,7 +1641,7 @@ mod tests {
let mut file = File::open(&path).await.unwrap();
let file_size = file.metadata().await.unwrap().len();
let mut metadata = ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.load_and_finish(&mut file, file_size)
.await
.unwrap();
@@ -1660,7 +1659,6 @@ mod tests {
}
#[tokio::test]
- #[allow(deprecated)]
async fn non_empty_offset_index_doesnt_panic_in_read_row_group() {
use tokio::fs::File;
let testdata = arrow::util::test_util::parquet_test_data();
@@ -1668,7 +1666,7 @@ mod tests {
let mut file = File::open(&path).await.unwrap();
let file_size = file.metadata().await.unwrap().len();
let metadata = ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.load_and_finish(&mut file, file_size)
.await
.unwrap();
@@ -1685,7 +1683,6 @@ mod tests {
}
#[tokio::test]
- #[allow(deprecated)]
async fn empty_offset_index_doesnt_panic_in_column_chunks() {
use tempfile::TempDir;
use tokio::fs::File;
@@ -1705,7 +1702,7 @@ mod tests {
use std::fs::File;
let file = File::open(file).unwrap();
ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.parse_and_finish(&file)
.unwrap()
}
@@ -1715,7 +1712,7 @@ mod tests {
let mut file = File::open(&path).await.unwrap();
let file_size = file.metadata().await.unwrap().len();
let metadata = ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.load_and_finish(&mut file, file_size)
.await
.unwrap();
diff --git a/parquet/src/arrow/mod.rs b/parquet/src/arrow/mod.rs
index 14f7b9b6b4..b89db361ed 100644
--- a/parquet/src/arrow/mod.rs
+++ b/parquet/src/arrow/mod.rs
@@ -485,7 +485,8 @@ pub fn parquet_column<'a>(
mod test {
use crate::arrow::ArrowWriter;
use crate::file::metadata::{
- ParquetMetaData, ParquetMetaDataOptions, ParquetMetaDataReader,
ParquetMetaDataWriter,
+ PageIndexPolicy, ParquetMetaData, ParquetMetaDataOptions,
ParquetMetaDataReader,
+ ParquetMetaDataWriter,
};
use crate::file::properties::{EnabledStatistics, WriterProperties};
use crate::schema::parser::parse_message_type;
@@ -497,7 +498,6 @@ mod test {
use super::ProjectionMask;
#[test]
- #[allow(deprecated)]
// Reproducer for https://github.com/apache/arrow-rs/issues/6464
fn test_metadata_read_write_partial_offset() {
let parquet_bytes = create_parquet_file();
@@ -514,7 +514,7 @@ mod test {
let options =
ParquetMetaDataOptions::new().with_encoding_stats_as_mask(false);
let err = ParquetMetaDataReader::new()
.with_metadata_options(Some(options))
- .with_page_indexes(true) // there are no page indexes in the
metadata
+ .with_page_index_policy(PageIndexPolicy::Required) // there are no
page indexes in the metadata
.parse_and_finish(&metadata_bytes)
.err()
.unwrap();
@@ -553,7 +553,6 @@ mod test {
}
#[test]
- #[allow(deprecated)]
fn test_metadata_read_write_roundtrip_page_index() {
let parquet_bytes = create_parquet_file();
@@ -562,7 +561,7 @@ mod test {
let options =
ParquetMetaDataOptions::new().with_encoding_stats_as_mask(false);
let original_metadata = ParquetMetaDataReader::new()
.with_metadata_options(Some(options))
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.parse_and_finish(&parquet_bytes)
.unwrap();
@@ -571,7 +570,7 @@ mod test {
let options =
ParquetMetaDataOptions::new().with_encoding_stats_as_mask(false);
let roundtrip_metadata = ParquetMetaDataReader::new()
.with_metadata_options(Some(options))
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.parse_and_finish(&metadata_bytes)
.unwrap();
diff --git a/parquet/src/file/metadata/reader.rs
b/parquet/src/file/metadata/reader.rs
index 60c57129fd..844ae747c7 100644
--- a/parquet/src/file/metadata/reader.rs
+++ b/parquet/src/file/metadata/reader.rs
@@ -56,12 +56,12 @@ use crate::arrow::async_reader::{MetadataFetch,
MetadataSuffixFetch};
///
/// # Example
/// ```no_run
-/// # use parquet::file::metadata::ParquetMetaDataReader;
+/// # use parquet::file::metadata::{PageIndexPolicy, ParquetMetaDataReader};
/// # fn open_parquet_file(path: &str) -> std::fs::File { unimplemented!(); }
/// // read parquet metadata including page indexes from a file
/// let file = open_parquet_file("some_path.parquet");
/// let mut reader = ParquetMetaDataReader::new()
-/// .with_page_indexes(true);
+/// .with_page_index_policy(PageIndexPolicy::Required);
/// reader.try_parse(&file).unwrap();
/// let metadata = reader.finish().unwrap();
/// assert!(metadata.column_index().is_some());
@@ -117,33 +117,6 @@ impl ParquetMetaDataReader {
}
}
- /// Enable or disable reading the page index structures described in
- /// "[Parquet page index]: Layout to Support Page Skipping".
- ///
- /// [Parquet page index]:
https://github.com/apache/parquet-format/blob/master/PageIndex.md
- #[deprecated(since = "56.1.0", note = "Use `with_page_index_policy`
instead")]
- pub fn with_page_indexes(self, val: bool) -> Self {
- self.with_page_index_policy(PageIndexPolicy::from(val))
- }
-
- /// Enable or disable reading the Parquet [ColumnIndex] structure.
- ///
- /// [ColumnIndex]:
https://github.com/apache/parquet-format/blob/master/PageIndex.md
- #[deprecated(since = "56.1.0", note = "Use `with_column_index_policy`
instead")]
- pub fn with_column_indexes(self, val: bool) -> Self {
- let policy = PageIndexPolicy::from(val);
- self.with_column_index_policy(policy)
- }
-
- /// Enable or disable reading the Parquet [OffsetIndex] structure.
- ///
- /// [OffsetIndex]:
https://github.com/apache/parquet-format/blob/master/PageIndex.md
- #[deprecated(since = "56.1.0", note = "Use `with_offset_index_policy`
instead")]
- pub fn with_offset_indexes(self, val: bool) -> Self {
- let policy = PageIndexPolicy::from(val);
- self.with_offset_index_policy(policy)
- }
-
/// Sets the [`PageIndexPolicy`] for the column and offset indexes
pub fn with_page_index_policy(self, policy: PageIndexPolicy) -> Self {
self.with_column_index_policy(policy)
@@ -218,12 +191,12 @@ impl ParquetMetaDataReader {
///
/// # Example
/// ```no_run
- /// # use parquet::file::metadata::ParquetMetaDataReader;
+ /// # use parquet::file::metadata::{PageIndexPolicy,
ParquetMetaDataReader};
/// # fn open_parquet_file(path: &str) -> std::fs::File {
unimplemented!(); }
/// // read parquet metadata including page indexes
/// let file = open_parquet_file("some_path.parquet");
/// let metadata = ParquetMetaDataReader::new()
- /// .with_page_indexes(true)
+ /// .with_page_index_policy(PageIndexPolicy::Required)
/// .parse_and_finish(&file).unwrap();
/// ```
pub fn parse_and_finish<R: ChunkReader>(mut self, reader: &R) ->
Result<ParquetMetaData> {
@@ -257,7 +230,7 @@ impl ParquetMetaDataReader {
///
/// # Example
/// ```no_run
- /// # use parquet::file::metadata::ParquetMetaDataReader;
+ /// # use parquet::file::metadata::{PageIndexPolicy,
ParquetMetaDataReader};
/// # use parquet::errors::ParquetError;
/// # use crate::parquet::file::reader::Length;
/// # fn get_bytes(file: &std::fs::File, range: std::ops::Range<u64>) ->
bytes::Bytes { unimplemented!(); }
@@ -266,7 +239,7 @@ impl ParquetMetaDataReader {
/// let len = file.len();
/// // Speculatively read 1 kilobyte from the end of the file
/// let bytes = get_bytes(&file, len - 1024..len);
- /// let mut reader = ParquetMetaDataReader::new().with_page_indexes(true);
+ /// let mut reader =
ParquetMetaDataReader::new().with_page_index_policy(PageIndexPolicy::Required);
/// match reader.try_parse_sized(&bytes, len) {
/// Ok(_) => (),
/// Err(ParquetError::NeedMoreData(needed)) => {
@@ -284,7 +257,7 @@ impl ParquetMetaDataReader {
/// to test for this. In the event the file metadata is present,
re-parsing of the file
/// metadata can be skipped by using [`Self::read_page_indexes_sized()`],
as shown below.
/// ```no_run
- /// # use parquet::file::metadata::ParquetMetaDataReader;
+ /// # use parquet::file::metadata::{PageIndexPolicy,
ParquetMetaDataReader};
/// # use parquet::errors::ParquetError;
/// # use crate::parquet::file::reader::Length;
/// # fn get_bytes(file: &std::fs::File, range: std::ops::Range<u64>) ->
bytes::Bytes { unimplemented!(); }
@@ -293,7 +266,7 @@ impl ParquetMetaDataReader {
/// let len = file.len();
/// // Speculatively read 1 kilobyte from the end of the file
/// let mut bytes = get_bytes(&file, len - 1024..len);
- /// let mut reader = ParquetMetaDataReader::new().with_page_indexes(true);
+ /// let mut reader =
ParquetMetaDataReader::new().with_page_index_policy(PageIndexPolicy::Required);
/// // Loop until `bytes` is large enough
/// loop {
/// match reader.try_parse_sized(&bytes, len) {
@@ -720,18 +693,6 @@ impl ParquetMetaDataReader {
}
}
- /// Decodes a [`FooterTail`] from the provided 8-byte slice.
- #[deprecated(since = "57.0.0", note = "Use FooterTail::try_from instead")]
- pub fn decode_footer_tail(slice: &[u8; FOOTER_SIZE]) -> Result<FooterTail>
{
- FooterTail::try_new(slice)
- }
-
- /// Decodes the Parquet footer, returning the metadata length in bytes
- #[deprecated(since = "54.3.0", note = "Use decode_footer_tail instead")]
- pub fn decode_footer(slice: &[u8; FOOTER_SIZE]) -> Result<usize> {
- FooterTail::try_new(slice).map(|f| f.metadata_length())
- }
-
/// Decodes [`ParquetMetaData`] from the provided bytes.
///
/// Typically, this is used to decode the metadata from the end of a
parquet
@@ -915,12 +876,12 @@ mod tests {
}
#[test]
- #[allow(deprecated)]
fn test_try_parse() {
let file = get_test_file("alltypes_tiny_pages.parquet");
let len = file.len();
- let mut reader = ParquetMetaDataReader::new().with_page_indexes(true);
+ let mut reader =
+
ParquetMetaDataReader::new().with_page_index_policy(PageIndexPolicy::Required);
let bytes_for_range = |range: Range<u64>| {
file.get_bytes(range.start, (range.end -
range.start).try_into().unwrap())
@@ -964,7 +925,8 @@ mod tests {
};
// not enough for file metadata, but keep trying until page indexes
are read
- let mut reader = ParquetMetaDataReader::new().with_page_indexes(true);
+ let mut reader =
+
ParquetMetaDataReader::new().with_page_index_policy(PageIndexPolicy::Required);
let mut bytes = bytes_for_range(452505..len);
loop {
match reader.try_parse_sized(&bytes, len) {
@@ -1301,7 +1263,6 @@ mod async_tests {
}
#[tokio::test]
- #[allow(deprecated)]
async fn test_page_index() {
let mut file = get_test_file("alltypes_tiny_pages.parquet");
let len = file.len();
@@ -1312,7 +1273,8 @@ mod async_tests {
};
let f = MetadataFetchFn(&mut fetch);
- let mut loader = ParquetMetaDataReader::new().with_page_indexes(true);
+ let mut loader =
+
ParquetMetaDataReader::new().with_page_index_policy(PageIndexPolicy::Required);
loader.try_load(f, len).await.unwrap();
assert_eq!(fetch_count.load(Ordering::SeqCst), 3);
let metadata = loader.finish().unwrap();
@@ -1322,7 +1284,7 @@ mod async_tests {
fetch_count.store(0, Ordering::SeqCst);
let f = MetadataFetchFn(&mut fetch);
let mut loader = ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.with_prefetch_hint(Some(1729));
loader.try_load(f, len).await.unwrap();
assert_eq!(fetch_count.load(Ordering::SeqCst), 2);
@@ -1333,7 +1295,7 @@ mod async_tests {
fetch_count.store(0, Ordering::SeqCst);
let f = MetadataFetchFn(&mut fetch);
let mut loader = ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.with_prefetch_hint(Some(130649));
loader.try_load(f, len).await.unwrap();
assert_eq!(fetch_count.load(Ordering::SeqCst), 2);
@@ -1344,7 +1306,7 @@ mod async_tests {
fetch_count.store(0, Ordering::SeqCst);
let f = MetadataFetchFn(&mut fetch);
let metadata = ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.with_prefetch_hint(Some(130650))
.load_and_finish(f, len)
.await
@@ -1356,7 +1318,7 @@ mod async_tests {
fetch_count.store(0, Ordering::SeqCst);
let f = MetadataFetchFn(&mut fetch);
let metadata = ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.with_prefetch_hint(Some((len - 1000) as usize)) // prefetch
entire file
.load_and_finish(f, len)
.await
@@ -1368,7 +1330,7 @@ mod async_tests {
fetch_count.store(0, Ordering::SeqCst);
let f = MetadataFetchFn(&mut fetch);
let metadata = ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.with_prefetch_hint(Some(len as usize)) // prefetch entire file
.load_and_finish(f, len)
.await
@@ -1380,7 +1342,7 @@ mod async_tests {
fetch_count.store(0, Ordering::SeqCst);
let f = MetadataFetchFn(&mut fetch);
let metadata = ParquetMetaDataReader::new()
- .with_page_indexes(true)
+ .with_page_index_policy(PageIndexPolicy::Required)
.with_prefetch_hint(Some((len + 1000) as usize)) // prefetch
entire file
.load_and_finish(f, len)
.await
diff --git a/parquet/src/file/page_index/index_reader.rs
b/parquet/src/file/page_index/index_reader.rs
index ce7fc5fbaa..f0e40f7fdd 100644
--- a/parquet/src/file/page_index/index_reader.rs
+++ b/parquet/src/file/page_index/index_reader.rs
@@ -20,12 +20,10 @@
use crate::basic::{BoundaryOrder, Type};
use crate::data_type::Int96;
use crate::errors::{ParquetError, Result};
-use crate::file::metadata::ColumnChunkMetaData;
use crate::file::page_index::column_index::{
ByteArrayColumnIndex, ColumnIndexMetaData, PrimitiveColumnIndex,
};
use crate::file::page_index::offset_index::OffsetIndexMetaData;
-use crate::file::reader::ChunkReader;
use crate::parquet_thrift::{
ElementType, FieldType, ReadThrift, ThriftCompactInputProtocol,
ThriftCompactOutputProtocol,
ThriftSliceInputProtocol, WriteThrift, WriteThriftField, read_thrift_vec,
@@ -44,97 +42,6 @@ pub(crate) fn acc_range(a: Option<Range<u64>>, b:
Option<Range<u64>>) -> Option<
}
}
-/// Reads per-column [`ColumnIndexMetaData`] for all columns of a row group by
-/// decoding [`ColumnIndex`] .
-///
-/// Returns a vector of `index[column_number]`.
-///
-/// Returns `None` if this row group does not contain a [`ColumnIndex`].
-///
-/// See [Page Index Documentation] for more details.
-///
-/// [Page Index Documentation]:
https://github.com/apache/parquet-format/blob/master/PageIndex.md
-/// [`ColumnIndex`]:
https://github.com/apache/parquet-format/blob/master/PageIndex.md
-#[deprecated(
- since = "55.2.0",
- note = "Use ParquetMetaDataReader instead; will be removed in 58.0.0"
-)]
-pub fn read_columns_indexes<R: ChunkReader>(
- reader: &R,
- chunks: &[ColumnChunkMetaData],
-) -> Result<Option<Vec<ColumnIndexMetaData>>, ParquetError> {
- let fetch = chunks
- .iter()
- .fold(None, |range, c| acc_range(range, c.column_index_range()));
-
- let fetch = match fetch {
- Some(r) => r,
- None => return Ok(None),
- };
-
- let bytes = reader.get_bytes(fetch.start as _, (fetch.end -
fetch.start).try_into()?)?;
-
- Some(
- chunks
- .iter()
- .map(|c| match c.column_index_range() {
- Some(r) => decode_column_index(
- &bytes[usize::try_from(r.start - fetch.start)?
- ..usize::try_from(r.end - fetch.start)?],
- c.column_type(),
- ),
- None => Ok(ColumnIndexMetaData::NONE),
- })
- .collect(),
- )
- .transpose()
-}
-
-/// Reads per-column [`OffsetIndexMetaData`] for all columns of a row group by
-/// decoding [`OffsetIndex`] .
-///
-/// Returns a vector of `offset_index[column_number]`.
-///
-/// Returns `None` if this row group does not contain an [`OffsetIndex`].
-///
-/// See [Page Index Documentation] for more details.
-///
-/// [Page Index Documentation]:
https://github.com/apache/parquet-format/blob/master/PageIndex.md
-/// [`OffsetIndex`]:
https://github.com/apache/parquet-format/blob/master/PageIndex.md
-#[deprecated(
- since = "55.2.0",
- note = "Use ParquetMetaDataReader instead; will be removed in 58.0.0"
-)]
-pub fn read_offset_indexes<R: ChunkReader>(
- reader: &R,
- chunks: &[ColumnChunkMetaData],
-) -> Result<Option<Vec<OffsetIndexMetaData>>, ParquetError> {
- let fetch = chunks
- .iter()
- .fold(None, |range, c| acc_range(range, c.offset_index_range()));
-
- let fetch = match fetch {
- Some(r) => r,
- None => return Ok(None),
- };
-
- let bytes = reader.get_bytes(fetch.start as _, (fetch.end -
fetch.start).try_into()?)?;
-
- Some(
- chunks
- .iter()
- .map(|c| match c.offset_index_range() {
- Some(r) => decode_offset_index(
- &bytes[usize::try_from(r.start - fetch.start)?
- ..usize::try_from(r.end - fetch.start)?],
- ),
- None => Err(general_err!("missing offset index")),
- })
- .collect(),
- )
- .transpose()
-}
-
pub(crate) fn decode_offset_index(data: &[u8]) -> Result<OffsetIndexMetaData,
ParquetError> {
let mut prot = ThriftSliceInputProtocol::new(data);
diff --git a/parquet/src/file/serialized_reader.rs
b/parquet/src/file/serialized_reader.rs
index 4b71e3c14e..113e5203c9 100644
--- a/parquet/src/file/serialized_reader.rs
+++ b/parquet/src/file/serialized_reader.rs
@@ -240,7 +240,6 @@ impl<R: 'static + ChunkReader> SerializedFileReader<R> {
/// Creates file reader from a Parquet file with read options.
/// Returns an error if the Parquet file does not exist or is corrupt.
- #[allow(deprecated)]
pub fn new_with_options(chunk_reader: R, options: ReadOptions) ->
Result<Self> {
let mut metadata_builder = ParquetMetaDataReader::new()
.with_metadata_options(Some(options.metadata_options.clone()))
@@ -266,8 +265,8 @@ impl<R: 'static + ChunkReader> SerializedFileReader<R> {
// If page indexes are desired, build them with the filtered set of
row groups
if options.enable_page_index {
- let mut reader =
-
ParquetMetaDataReader::new_with_metadata(metadata).with_page_indexes(true);
+ let mut reader = ParquetMetaDataReader::new_with_metadata(metadata)
+ .with_page_index_policy(PageIndexPolicy::Required);
reader.read_page_indexes(&chunk_reader)?;
metadata = reader.finish()?;
}
@@ -1185,8 +1184,6 @@ mod tests {
use crate::data_type::private::ParquetValueType;
use crate::data_type::{AsBytes, FixedLenByteArrayType, Int32Type};
use crate::file::metadata::thrift::DataPageHeaderV2;
- #[allow(deprecated)]
- use crate::file::page_index::index_reader::{read_columns_indexes,
read_offset_indexes};
use crate::file::writer::SerializedFileWriter;
use crate::record::RowAccessor;
use crate::schema::parser::parse_message_type;
@@ -2181,31 +2178,6 @@ mod tests {
assert_eq!(0, page_offset.first_row_index);
}
- #[test]
- #[allow(deprecated)]
- fn test_page_index_reader_out_of_order() {
- let test_file = get_test_file("alltypes_tiny_pages_plain.parquet");
- let options = ReadOptionsBuilder::new().with_page_index().build();
- let reader = SerializedFileReader::new_with_options(test_file,
options).unwrap();
- let metadata = reader.metadata();
-
- let test_file = get_test_file("alltypes_tiny_pages_plain.parquet");
- let columns = metadata.row_group(0).columns();
- let reversed: Vec<_> = columns.iter().cloned().rev().collect();
-
- let a = read_columns_indexes(&test_file, columns).unwrap().unwrap();
- let mut b = read_columns_indexes(&test_file, &reversed)
- .unwrap()
- .unwrap();
- b.reverse();
- assert_eq!(a, b);
-
- let a = read_offset_indexes(&test_file, columns).unwrap().unwrap();
- let mut b = read_offset_indexes(&test_file,
&reversed).unwrap().unwrap();
- b.reverse();
- assert_eq!(a, b);
- }
-
#[test]
fn test_page_index_reader_all_type() {
let test_file = get_test_file("alltypes_tiny_pages_plain.parquet");
diff --git a/parquet/tests/arrow_reader/bad_data.rs
b/parquet/tests/arrow_reader/bad_data.rs
index 38fa69cdb1..9a110c1361 100644
--- a/parquet/tests/arrow_reader/bad_data.rs
+++ b/parquet/tests/arrow_reader/bad_data.rs
@@ -188,9 +188,8 @@ fn skip_unknown_types() {
#[cfg(feature = "async")]
#[tokio::test]
-#[allow(deprecated)]
async fn bad_metadata_err() {
- use parquet::file::metadata::ParquetMetaDataReader;
+ use parquet::file::metadata::{PageIndexPolicy, ParquetMetaDataReader};
let metadata_buffer =
Bytes::from_static(include_bytes!("bad_raw_metadata.bin"));
@@ -199,13 +198,13 @@ async fn bad_metadata_err() {
let mut reader = std::io::Cursor::new(&metadata_buffer);
let mut loader = ParquetMetaDataReader::new();
loader.try_load(&mut reader, metadata_length).await.unwrap();
- loader = loader.with_page_indexes(false);
+ loader = loader.with_page_index_policy(PageIndexPolicy::Skip);
loader.load_page_index(&mut reader).await.unwrap();
- loader = loader.with_offset_indexes(true);
+ loader = loader.with_offset_index_policy(PageIndexPolicy::Required);
loader.load_page_index(&mut reader).await.unwrap();
- loader = loader.with_column_indexes(true);
+ loader = loader.with_column_index_policy(PageIndexPolicy::Required);
let err = loader.load_page_index(&mut reader).await.unwrap_err();
assert_eq!(