Skip to content

Remove PCRE dependency and replace with standard C++ regex#20

Merged
mkottakota1 merged 2 commits intomainfrom
removal_pcre_lib
Feb 11, 2026
Merged

Remove PCRE dependency and replace with standard C++ regex#20
mkottakota1 merged 2 commits intomainfrom
removal_pcre_lib

Conversation

@mkottakota1
Copy link
Collaborator

Description:

This change removes the dependency on the Perl Compatible Regular Expression (PCRE) libraries (pcre-devel, pcre-cpp) and replaces PCRE-based usage with the standard C++ std::regex implementation.

Why this change:

Eliminates the need for external PCRE packages, simplifying build and deployment on modern Linux distributions (e.g., Rocky Linux, Amazon Linux).

Improves portability and reduces friction when building ODBC Loader in minimal or containerized environments.

Aligns with customer requests to remove PCRE as a build-time dependency.

What changed:

Replaced PCRE-based regular expression handling with std::regex.

Updated build logic to remove PCRE include paths and linker flags.

No functional change in regex behavior for supported patterns.

Impact / Compatibility:

No change to public APIs or loader behavior.

No runtime dependency on PCRE libraries.

Build output remains functionally equivalent.

Testing:

Built ODBC Loader without pcre-devel and pcre-cpp installed.

Verified loader functionality with existing test cases.

@mkottakota1 mkottakota1 assigned DMickens and mkottakota1 and unassigned DMickens Jan 7, 2026
@mkottakota1 mkottakota1 requested a review from DMickens January 7, 2026 10:06
@mkottakota1
Copy link
Collaborator Author

@DMickens I have tested the changes locally.

I am going to work on fixing the pipelines by creating a new user story.

mkottakota1 and others added 2 commits February 10, 2026 04:55
We have removed the dependency on PCRE, removing the documentation related to pcre
@mkottakota1
Copy link
Collaborator Author

@DMickens Hi Danny, Kindly review this MR and let me know your comments

Copy link
Collaborator

@lazern lazern left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes to replace PCRE with standard std::regex looks good.
While PCRE generally offers better performance compared to std::regex, that advantage is irrelevant in this case as i can see the regex is only used once during SQL translation in setup(), rather than being applied repeatedly for per-row parsing.

Approving the MR.

@mkottakota1 mkottakota1 merged commit 2da274b into main Feb 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments