-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
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, 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
alamb
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request