tychoish opened a new issue, #8345:
URL: https://github.com/apache/arrow-datafusion/issues/8345

   ### Is your feature request related to a problem or challenge?
   
   I've been exploring adding new file formats and types to our system 
(@GlareDB), and have run into the problem where the `FileFormat` trait depends 
on the `FileType` enum, which means it's impossible to implement entirely new 
filetypes except from within the package. 
   
   This is sort of gnarly to unwind as I've dug in, and I don't have a 
particular solution that I favor. 
   
   ### Describe the solution you'd like
   
   I think collapsing `FileType` into `FileFormat` is maybe my favorite 
solution conceptually, but I think (more narrowly) removing the references to 
`FileType` in the `FileFormat` (as in my branch) would be good. 
   
   ### Describe alternatives you've considered
   
   There are a few ways to resolve this:
   - make the FileType an implementable trait rather than an enum.
   - remove dependency between the interfaces [I tried to do this 
here](https://github.com/apache/arrow-datafusion/compare/main...tychoish:arrow-datafusion:file-type-and-format),
 which I think is a good start, but I think the issue runs even deeper. Having 
said that, the only casualty here would be the listing code, which is maybe 
something that can be worked around.
   - move all properties of "file_type" into the `FileFormat` (which kind of 
makes sense? I'm not sure that these are actually meaningfully separate 
abstractions.)
   
   ### Additional context
   
   _No response_


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

Reply via email to