adriangb commented on PR #19716: URL: https://github.com/apache/datafusion/pull/19716#issuecomment-3729967773
I actually considered that and decided against it for a couple of reasons: 1. There are extra methods on there that we won't be implementing, e.g. [`map_column_index`](https://docs.rs/datafusion/latest/datafusion/datasource/schema_adapter/trait.SchemaAdapter.html#tymethod.map_column_index). There are also API idiosyncrasies that I think are good to deprecate / replace ([`create_with_projected_schema`](https://docs.rs/datafusion/latest/datafusion/datasource/schema_adapter/trait.SchemaAdapterFactory.html#method.create_with_projected_schema) and [`create`](https://docs.rs/datafusion/latest/datafusion/datasource/schema_adapter/trait.SchemaAdapterFactory.html#method.create) each have their issues). 2. We don't need a trait (or nested traits), the dynamic behavior is entirely determined by `PhysicalExprAdapter`. So at most I'd consider un-deprecating `DefaultSchemaAdapter`. 3. We can't really un-deprecate it from `ParquetSource`/`FileScanConfig`, so at most we'd un-deprecate it as a standalone thing for other ad-hoc uses. So given that we don't really want the trait, that we'd be deprecating half of the methods anyway and that the other half could use a refactor / breaking changes to simplify the APIs and that it wouldn't really help most of the use cases (`FileScanConfig`) I think it's best to make a new, simpler API. -- 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]
