kylebarron opened a new pull request, #8222: URL: https://github.com/apache/arrow-rs/pull/8222
This is a pretty early draft to start discussion. It is not ready to merge. # Which issue does this PR close? - Closes https://github.com/apache/arrow-rs/issues/7240, closes https://github.com/apache/arrow-rs/issues/7799. # Rationale for this change Bare-bones support for reading and writing Parquet geometry/geography data. # What changes are included in this PR? This is lightly modeled after https://github.com/apache/arrow-rs/pull/7404, but that was an early draft of variant support. It looks like progress has gone on in `parquet-variant`, but it's hard to understand how that crate is intended to be used. - **Breaking**: changes `parquet::basic::LogicalType` because we need to maintain the type-level information of `Geometry`/`Geography` that exists on [`parquet::format::LogicalType`](https://docs.rs/parquet/latest/parquet/format/enum.LogicalType.html#variant.GEOMETRY). - Defines new `Geometry` and `Geography` arrow logical types, which each implement `arrow_schema::extension::ExtensionType`. This PR currently puts those in `arrow-schema`, but it's not clear that they should live there. If we created a new `parquet-geometry` crate, then at first glance I'd put `Geometry` and `Geography` there, but that's an issue assuming that `parquet` won't depend on `parquet-geometry`. - Those `Geometry` and `Geography` arrow logical types are currently feature-gated behind `arrow_canonical_extension_types`, while these types aren't actually canonical yet. Should we create a new `geometry` feature flag for the `parquet` crate? Perhaps we'll create a separate `parquet-geometry` crate for the builders that maintain a bounding box when writing geometry data. # Are these changes tested? Not yet, I first want to put the PR up to get some initial discussion. # Are there any user-facing changes? > If there are any breaking changes to public APIs, please call them out. Unfortunately, I think this _requires_ a breaking change to `parquet::basic::LogicalType` because we need to maintain the type-level information of `Geometry`/`Geography` that exists on [`parquet::format::LogicalType`](https://docs.rs/parquet/latest/parquet/format/enum.LogicalType.html#variant.GEOMETRY). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org