Xuanwo opened a new pull request, #22951:
URL: https://github.com/apache/datafusion/pull/22951

   ## Which issue does this PR close?
   
   N/A
   
   ## Rationale for this change
   
   `datafusion-ffi` inherits `datafusion-proto` from the workspace. Because 
`datafusion-proto` enables its `parquet` feature by default, downstream crates 
that depend on `datafusion-ffi` also pull in `datafusion-datasource-parquet`, 
`parquet`, and parquet compression dependencies even when they do not need 
parquet-aware proto support.
   
   Cargo features are additive, so downstream users cannot opt out by disabling 
default features on their own direct `datafusion-proto` dependency if the 
`datafusion-ffi -> datafusion-proto` edge has already enabled defaults.
   
   ## What changes are included in this PR?
   
   This PR makes the workspace `datafusion-proto` dependency default to 
`default-features = false`, then lets crates opt into the previous behavior 
explicitly.
   
   For `datafusion-ffi`, the previous default behavior is preserved with a new 
default `parquet` feature. Downstream users that want to avoid parquet 
dependencies can now use `datafusion-ffi` with `default-features = false`.
   
   The FFI session table option bridge now gates `ConfigFileType::PARQUET` 
usage behind the `datafusion-ffi/parquet` feature, while still preserving 
parquet table option values in no-default builds.
   
   ## Are these changes tested?
   
   Yes. Existing `datafusion-ffi` tests pass with default features and with 
`--no-default-features`. The feature graph was also checked to confirm that 
default `datafusion-ffi` still enables parquet, while `datafusion-ffi 
--no-default-features` does not include `datafusion-datasource-parquet`.
   
   ## Are there any user-facing changes?
   
   Default behavior is unchanged. Users can now opt out of parquet-aware proto 
support from `datafusion-ffi` by disabling `datafusion-ffi` default features.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to