Boost logo

Boost :

From: Vinnie Falco (vinnie.falco_at_[hidden])
Date: 2024-03-22 15:29:22


On Fri, Mar 22, 2024 at 8:14 AM Daniele Lupo via Boost
<boost_at_[hidden]> wrote:
> ...maybe it's better to stop a think a bit about a more general
> solution, a single library that embrace them all.

If I were to write such a library, I would start by cloning the SOCI repository:

https://github.com/SOCI/soci

Then I would make the following changes:

* Support boost::system::error_code in addition to the current use of exceptions
* Use the boost idioms like source_location and BOOST_ASSERT
* Modernize the customization point interface ("exchange" in soci parlance)
* Export backends using run-time dependency injection to make linking easier
* Adjust the APIs as needed to make writing insecure queries less likely

This would bring about the following benefits:

* 13 years of SOCI development for free: bugs, design, features
* Very little effort required compared to writing a lib from scratch
* Existing users of soci already know the API
* Multiple backends are supported, with the possibility for adding more

Thanks


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk