-
Notifications
You must be signed in to change notification settings - Fork 93
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(c/driver/framework): Remove fmt as required dependency of th…
…e driver framework (#2081) This PR removes fmt as a required component of a driver based on the driver framework. This is so that we can eliminate `c/driver/common/driver_base.h` in favour of the much better `c/driver/framework`. The fmt library is great and easy to use and we should absolutely use it in our own drivers; however, I don't know of any libraries that would want to export an ADBC driver that don't already have a scheme for error generation (e.g., Arrow's Status or GDAL's `cpl_error.h`). In the R package we don't generate any fancy errors but we do need to make a driver to check that the wires are plugged in. I think I've done this in such a way that we keep all the benefits for our own drivers but drop the requirement for all users. This PR leans in to the `Status/Result`. I take back everything I ever said about it...it's awesome and we should keep it (closes #1663). I think it will be particularly nice for the consuming end as well if or when we get there. This PR also limits the use of nanoarrow to .cc files (i.e., nanoarrow is not exposed in the headers). This mostly just seemed cleaner, if not strictly necessary (/there are other problems that need solving like namespacing if the internal nanoarrow were to be completely isolated). I also removed references to any headers outside `driver/framework` (mostly to the old utility library). This is not quite far enough to do what I need to do in the R package, where I basically just want an empty driver that does nothing. We could fence the bits that rely on the other framework components with `#if !defined(ADBC_FRAMEWORK_MINIMAL)` or separate `driver::BaseDatabase` (contains no `XXXImpl()` methods) from `driver::Database` (what the current BaseDatabase is).
- Loading branch information
1 parent
e581aaf
commit 8d15780
Showing
14 changed files
with
463 additions
and
292 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.