@@ -58,6 +58,7 @@ pub mod statistics;
5858///
5959/// * synchronous API: [`ParquetRecordBatchReaderBuilder::try_new`]
6060/// * `async` API: [`ParquetRecordBatchStreamBuilder::new`]
61+ /// * decoder API: [`ParquetDecoderBuilder::new`]
6162///
6263/// # Features
6364/// * Projection pushdown: [`Self::with_projection`]
@@ -93,6 +94,7 @@ pub mod statistics;
9394/// Millisecond Latency] Arrow blog post.
9495///
9596/// [`ParquetRecordBatchStreamBuilder::new`]: crate::arrow::async_reader::ParquetRecordBatchStreamBuilder::new
97+ /// [`ParquetDecoderBuilder::new`]: crate::arrow::push_decoder::ParquetPushDecoderBuilder::new
9698/// [Apache Arrow]: https://arrow.apache.org/
9799/// [`StatisticsConverter`]: statistics::StatisticsConverter
98100/// [Querying Parquet with Millisecond Latency]: https://arrow.apache.org/blog/2022/12/26/querying-parquet-with-millisecond-latency/
@@ -991,12 +993,26 @@ impl<T: ChunkReader + 'static> PageIterator for ReaderPageIterator<T> {}
991993
992994/// An `Iterator<Item = ArrowResult<RecordBatch>>` that yields [`RecordBatch`]
993995/// read from a parquet data source
996+ ///
997+ /// This reader is created by [`ParquetRecordBatchReaderBuilder`], and has all
998+ /// the buffered state (DataPages, etc) necessary to decode the parquet data into
999+ /// Arrow arrays.
9941000pub struct ParquetRecordBatchReader {
9951001 array_reader : Box < dyn ArrayReader > ,
9961002 schema : SchemaRef ,
9971003 read_plan : ReadPlan ,
9981004}
9991005
1006+ impl Debug for ParquetRecordBatchReader {
1007+ fn fmt ( & self , f : & mut Formatter < ' _ > ) -> std:: fmt:: Result {
1008+ f. debug_struct ( "ParquetRecordBatchReader" )
1009+ . field ( "array_reader" , & "..." )
1010+ . field ( "schema" , & self . schema )
1011+ . field ( "read_plan" , & self . read_plan )
1012+ . finish ( )
1013+ }
1014+ }
1015+
10001016impl Iterator for ParquetRecordBatchReader {
10011017 type Item = Result < RecordBatch , ArrowError > ;
10021018
0 commit comments