MINIFICPP-2866 Add Conan support for SOCI and iODBC libraries - #2218
Open
lordgamez wants to merge 1 commit into
Open
MINIFICPP-2866 Add Conan support for SOCI and iODBC libraries#2218lordgamez wants to merge 1 commit into
lordgamez wants to merge 1 commit into
Conversation
lordgamez
force-pushed
the
MINIFICPP-2866
branch
from
July 24, 2026 13:03
0b475d4 to
5bc6888
Compare
lordgamez
marked this pull request as ready for review
July 24, 2026 14:35
fgerlits
approved these changes
Jul 27, 2026
lordgamez
force-pushed
the
MINIFICPP-2861
branch
from
July 29, 2026 08:36
85e8f74 to
4ba9738
Compare
lordgamez
force-pushed
the
MINIFICPP-2866
branch
from
July 29, 2026 08:38
5bc6888 to
b176e58
Compare
8 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Adds Conan-based packaging/build support for SOCI (upgraded to 4.1.4) and iODBC, and refactors the SQL extension to consume these dependencies via new CMake “source” selectors.
Changes:
- Introduce Conan recipes + conandata/config for SOCI 4.1.4 and iODBC 3.52.16 (including portability patches).
- Refactor
extensions/sqlto useGetSOCI/GetIODBCinstead of inlineExternalProject_Add. - Add new build options for selecting BUILD vs CONAN sources, and add
enable_sqlto the root Conan options/bootstrapping.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| thirdparty/soci/sqlite3-path.patch | Removes legacy SOCI SQLite finder patch. |
| thirdparty/soci/config.yml | Adds SOCI thirdparty version mapping (4.1.4). |
| thirdparty/soci/all/patches/odbc-get-parameter-name-bounds-safe.patch | Adds SOCI ODBC safety patch to avoid out_of_range. |
| thirdparty/soci/all/patches/disable-sqlwchar-support.patch | Adds SOCI ODBC patch disabling SQLWCHAR wstring handling for iODBC. |
| thirdparty/soci/all/conanfile.py | Adds Conan recipe for SOCI with optional backends. |
| thirdparty/soci/all/conandata.yml | Adds SOCI source URL + patch list for 4.1.4. |
| thirdparty/iodbc/config.yml | Adds iODBC thirdparty version mapping (3.52.16). |
| thirdparty/iodbc/all/conanfile.py | Adds Conan recipe for building iODBC from source (autotools). |
| thirdparty/iodbc/all/conandata.yml | Adds iODBC source URL + GCC15 patch. |
| extensions/sql/CMakeLists.txt | Switches SQL extension dependency wiring to GetIODBC/GetSOCI and links SOCI::SOCI. |
| conanfile.py | Adds enable_sql option and SOCI requirement/configuration. |
| cmake/Soci.cmake | Adds FetchContent-based SOCI-from-source build with patch application. |
| cmake/MiNiFiOptions.cmake | Adds MINIFI_IODBC_SOURCE and MINIFI_SOCI_SOURCE multi-options. |
| cmake/GetSOCI.cmake | Adds SOCI retrieval selector (CONAN vs BUILD), recreates aggregate target for Conan. |
| cmake/GetIODBC.cmake | Adds iODBC retrieval selector (CONAN vs BUILD). |
| cmake/BundledIodbc.cmake | Extracts existing iODBC ExternalProject build into a dedicated module. |
| bootstrap/cli.py | Adds ENABLE_SQL to bootstrap Conan option propagation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Extract SOCI and iODBC config to separate cmake files - Upgrade SOCI library to v4.1.4
lordgamez
force-pushed
the
MINIFICPP-2866
branch
from
July 29, 2026 09:59
b176e58 to
7fd92d4
Compare
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.
Depends on #2216
Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you to ensure the following steps have been taken:
For all changes:
Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
Has your PR been rebased against the latest commit within the target branch (typically main)?
Is your initial contribution a single, squashed commit?
For code changes:
For documentation related changes:
Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.