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 900ec3ee38 docs: Revise Parquet metadata module documentation (#10796)
900ec3ee38 is described below

commit 900ec3ee38276ab651e210c4a85b38f8a8a61bcf
Author: Ed Seidl <[email protected]>
AuthorDate: Tue Aug 25 12:45:33 2026 -0700

    docs: Revise Parquet metadata module documentation (#10796)
    
    # Which issue does this PR close?
    
    N/A
    
    # Rationale for this change
    
    The form of the Parquet metadata has changed a great deal since the
    module documentation was written. It's time for a small refresh.
    
    # What changes are included in this PR?
    
    Mention the new `PageIndex` structure and remove the ascii art diagram
    (sorry @alamb) that is now out of date. Since we no longer have two
    parallel sets of metadata objects, the section on the interplay between
    representation is no longer needed.
    
    # Are these changes tested?
    N/A
    
    # Are there any user-facing changes?
    No, just documentation
---
 parquet/src/file/metadata/mod.rs | 43 +++-------------------------------------
 1 file changed, 3 insertions(+), 40 deletions(-)

diff --git a/parquet/src/file/metadata/mod.rs b/parquet/src/file/metadata/mod.rs
index e7f7199177..4eeed39088 100644
--- a/parquet/src/file/metadata/mod.rs
+++ b/parquet/src/file/metadata/mod.rs
@@ -32,10 +32,12 @@
 //!   within a Row Group including encoding and compression information,
 //!   number of values, statistics, etc.
 //!
+//! * [`PageIndex`]: Metadata and statistics used to reduce page-level I/O.
+//!
 //! # APIs for working with Parquet Metadata
 //!
 //! The Parquet readers and writers in this crate handle reading and writing
-//! metadata into parquet files. To work with metadata directly,
+//! metadata into Parquet files. To work with metadata directly,
 //! the following APIs are available:
 //!
 //! * [`ParquetMetaDataReader`] for reading metadata from an I/O source (sync 
and async)
@@ -47,45 +49,6 @@
 //! Please see [`external_metadata.rs`]
 //!
 //! [`external_metadata.rs`]: 
https://github.com/apache/arrow-rs/tree/master/parquet/examples/external_metadata.rs
-//!
-//! # Metadata Encodings and Structures
-//!
-//! There are three different encodings of Parquet Metadata in this crate:
-//!
-//! 1. `bytes`:encoded with the Thrift `TCompactProtocol` as defined in
-//!    [parquet.thrift]
-//!
-//! 2. [`format`]: Rust structures automatically generated by the thrift 
compiler
-//!    from [parquet.thrift]. These structures are low level and mirror
-//!    the thrift definitions.
-//!
-//! 3. [`file::metadata`] (this module): Easier to use Rust structures
-//!    with a more idiomatic API. Note that, confusingly, some but not all
-//!    of these structures have the same name as the [`format`] structures.
-//!
-//! [`file::metadata`]: crate::file::metadata
-//! [parquet.thrift]:  
https://github.com/apache/parquet-format/blob/master/src/main/thrift/parquet.thrift
-//!
-//! Graphically, this is how the different structures relate to each other:
-//!
-//! ```text
-//!                          ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─         ┌ ─ ─ ─ ─ ─ ─ ─ ─ 
─ ─ ─ ─ ─
-//!                            ┌──────────────┐     │         
┌───────────────────────┐ │
-//!                          │ │ ColumnIndex  │              ││    
ParquetMetaData    │
-//!                            └──────────────┘     │         
└───────────────────────┘ │
-//! ┌──────────────┐         │ ┌────────────────┐            
│┌───────────────────────┐
-//! │   ..0x24..   │ ◀────▶    │  OffsetIndex   │   │ ◀────▶  │    
ParquetMetaData    │ │
-//! └──────────────┘         │ └────────────────┘            
│└───────────────────────┘
-//!                                     ...         │                   ...    
         │
-//!                          │ ┌──────────────────┐          │ 
┌──────────────────┐
-//! bytes                      │  FileMetaData*   │ │          │  
FileMetaData*   │     │
-//! (thrift encoded)         │ └──────────────────┘          │ 
└──────────────────┘
-//!                           ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘         ─ ─ ─ ─ ─ ─ ─ ─ 
─ ─ ─ ─ ─ ┘
-//!
-//!                          format::meta structures          file::metadata 
structures
-//!
-//!                         * Same name, different struct
-//! ```
 mod footer_tail;
 mod memory;
 mod options;

Reply via email to