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 ed8996b92 Add example for creating `SchemaDescriptor` (#6841)
ed8996b92 is described below
commit ed8996b9266e32c61d3349fbf2f5b83319c68343
Author: Andrew Lamb <[email protected]>
AuthorDate: Fri Dec 6 16:51:16 2024 -0500
Add example for creating `SchemaDescriptor` (#6841)
---
parquet/src/schema/types.rs | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/parquet/src/schema/types.rs b/parquet/src/schema/types.rs
index d062c175d..d168e46de 100644
--- a/parquet/src/schema/types.rs
+++ b/parquet/src/schema/types.rs
@@ -949,6 +949,32 @@ impl ColumnDescriptor {
///
/// Encapsulates the file's schema ([`Type`]) and [`ColumnDescriptor`]s for
/// each primitive (leaf) column.
+///
+/// # Example
+/// ```
+/// # use std::sync::Arc;
+/// use parquet::schema::types::{SchemaDescriptor, Type};
+/// use parquet::basic; // note there are two `Type`s that are different
+/// // Schema for a table with two columns: "a" (int64) and "b" (int32, stored
as a date)
+/// let descriptor = SchemaDescriptor::new(
+/// Arc::new(
+/// Type::group_type_builder("my_schema")
+/// .with_fields(vec![
+/// Arc::new(
+/// Type::primitive_type_builder("a", basic::Type::INT64)
+/// .build().unwrap()
+/// ),
+/// Arc::new(
+/// Type::primitive_type_builder("b", basic::Type::INT32)
+/// .with_converted_type(basic::ConvertedType::DATE)
+/// .with_logical_type(Some(basic::LogicalType::Date))
+/// .build().unwrap()
+/// ),
+/// ])
+/// .build().unwrap()
+/// )
+/// );
+/// ```
#[derive(PartialEq)]
pub struct SchemaDescriptor {
/// The top-level logical schema (the "message" type).