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

   ## Which issue does this PR close?
   
   - This addresses part of https://github.com/apache/datafusion/issues/17713
   
   ## Rationale for this change
   
   In order to remove the `datafusion` core crate from `proto` as a dependency, 
we need to access `ListingTable` but it is within the `core` crate. There 
already exists a `datafusion-catalog-listing` which is bare and appears to be 
the place this should exist.
   
   ## What changes are included in this PR?
   
   Move `ListingTable` and some of its dependent structs over to the 
`datafusion-catalog-listing` crate.
   
   There is one dependency I wasn't able to remove from the `core` crate, which 
is inferring the listing table configuration options. That is because within 
this method it downcasts `Session` to `SessionState`. If a downstream user ever 
attempts to implement `Session` themselves, these methods also would not work. 
Because it would cause a circular dependency, we cannot also lift the method we 
need out of `SessionState` to `Session`. Instead I took the approach of 
splitting off the two methods that require `SessionState` as an extension trait 
for the listing table config.
   
   ## Are these changes tested?
   
   Existing unit tests show no regression. This is just a code refactor.
   
   ## Are there any user-facing changes?
   
   Users may need to update their use paths.


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