findepi commented on PR #11516:
URL: https://github.com/apache/datafusion/pull/11516#issuecomment-2238870621

   > I think this is similar to minimum dependencies what I'm thinking. The 
only difference is that I propose `struct TableProviderContext`, but you have 
`trait CatalogSession`
   > 
   > IMO struct is more sutiable for storing data, unlike trait that mainly 
used for sharing same behavior
   
   A publicly constructible struct is indeed different than a trait. Not sure 
we want that though, as it would limit evolvability.
   I thought about a trait, because of it resemblance to interfaces in other 
languages. To me seems suited for defining contracts -- and here we're defining 
a contract between core and the table providers.
   I don't feel strongly though, even less so given my little experience
   
   IMO a bigger question is what functionality does this new being provide. 
   If we go into composability, I would want to think about different table 
providers as add-ons or plugins. 
   Then, maybe FileFormatFactory could be moved our of core, as not inherently 
part of SQL execution? 
   This question would imply whether FileFormatFactory is exposed in 
TableProviderContext/CatalogSession.
   
   cc @alamb it would be good to hear your opinion, especially that you created 
the https://github.com/apache/datafusion/issues/10782 issue, which this PR is 
in response to.
   


-- 
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: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to