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]

Reply via email to