alamb opened a new pull request, #8133: URL: https://github.com/apache/arrow-rs/pull/8133
# Which issue does this PR close? - Closes https://github.com/apache/arrow-rs/issues/8132 - Part of https://github.com/apache/arrow-rs/issues/8084 - Follow on to https://github.com/apache/arrow-rs/pull/8104 # Rationale for this change One of the goals of adding `Variant` support to the parquet crate is to not requiring users to compile and bloat their binary size unless they want this functionality. This means that we have added all actual code and functionality in different crates: `parquet_variant`, `parquet_variant_compute`, etc. However at the moment, users who want to use the `Variant` functionality need to add the `parquet_variant` crate to their `Cargo.toml`. This has several downsides: 1. It will be more complicated to use the `Variant` functionality for users 2. There is no way to provide end to end examples of reading and writing `Variant` data in either the `parquet` or `parquet_variant` crates 3. The end to end tests for reading parquet files with `Variant` data need to add both the `parquet` and `parquet_variant` crates to their `Cargo.toml` Thus, I propose we add a `variant` feature to the `parquet` crate that re-exports the `parquet_variant` and `parquet_variant_compute` crates. This way users can add the `parquet` crate with the `variant` feature to their `Cargo.toml` and get all the functionality. This is similar to the `arrow` feature in the `parquet` crate that enables arrow functionality for those users who want it but does not require all users to depend on the `arrow` crate. An alternate strategy would be to require users to explicitly import the `parquet` and `parquet_variant` crates in their `Cargo.toml` to use the variant functionality. You can see an example of how this might look in * https://github.com/apache/arrow-rs/pull/8129 # What changes are included in this PR? 1. Add the `variant` feature to the `parquet` crate 2. Publicly export the variant crates 3. Add docs and examples # Are these changes tested? Yes by CI # Are there any user-facing changes? If there are user-facing changes then we may require documentation to be updated before approving the PR. If there are any breaking changes to public APIs, please call them out. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
