Repository navigation
[arrow-adbc] Fix the postgresql feature with fmt 12 - #54910
Open
Denis Rouzaud (3nids) wants to merge 2 commits into
Open
Denis Rouzaud (3nids) wants to merge 2 commits into
Denis Rouzaud (3nids) wants to merge 2 commits into
Conversation
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues were identified for the fmt 12 compatibility backport, although no builds were run.
No open issues 🎉
What changed in this PR
Backports the upstream fmt header fix to restore arrow-adbc[postgresql] compatibility with fmt 12, without updating the packaged ADBC version.
Changes:
- Adds explicit
<fmt/format.h>includes in the framework and PostgreSQL driver headers. - Applies the patch during source preparation.
- Increments ADBC 23’s port revision to 1 and updates the version registry.
Review was limited to the supplied changes; no builds were run.
| File | Description |
|---|---|
versions/baseline.json |
Selects ADBC 23 port revision 1. |
versions/a-/arrow-adbc.json |
Registers the patched port revision. |
ports/arrow-adbc/vcpkg.json |
Bumps the port revision to 1. |
ports/arrow-adbc/portfile.cmake |
Applies the upstream-derived compatibility patch. |
ports/arrow-adbc/fmt-format.patch |
Adds the fmt headers needed for fmt::vformat. |
Review effort: Balanced
This branch has not been deployed
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With the current fmt port (12.2.0),
arrow-adbc[postgresql]doesn't compile:In fmt 12,
fmt/core.honly includesfmt/base.h(it includesformat.honly withFMT_DEPRECATED_HEAVY_CORE), andfmt::vformatis declared infmt/format.h. This backports the two#include <fmt/format.h>lines from apache/arrow-adbc@d629515 (apache/arrow-adbc#4626). The rest of that commit updates the vendored fmt, which the port deletes. The fix is in ADBC 25 but not in 24 (#53853).postgresqlis not a default feature, so the fmt 12.2.0 update (#52423) didn't build it.Tested on arm64 macOS 26.6 (Apple clang 21):
arrow-adbc[core,postgresql,sqlite]:arm64-osxin a fresh install root: builds with this change.arrow-adbc[core,postgresql,sqlite]for a release-onlyarm64-osx-dynamicoverlay triplet: fails with the error above without this change and builds with it.x64-osx-dynamicoverlay triplet, cross-built on the arm64 host: builds, and the open-vcpkg/python-registrypy-adbc-postgresqlandpy-adbc-sqliteports build on top of it. An ADBC SQLite query runs from Python.Not tested: Linux, Windows.
./vcpkg x-add-version --alland committing the result.