Boost logo

Boost :

From: Ruben Perez (rubenperez038_at_[hidden])
Date: 2020-04-07 18:42:38


On Fri, 3 Apr 2020 at 21:04, Mateusz Loskot via Boost <boost_at_[hidden]>
wrote:

> On Fri, 3 Apr 2020 at 20:41, Jeff Garland via Boost
> <boost_at_[hidden]> wrote:
>
> FYI, I mentioned SOCI in
> https://lists.boost.org/Archives/boost/2020/03/248307.php

Apologies, that is true. I have had a quick look into SOCI, and I think the
aim is quite different than in MySQL-Asio. SOCI has an impressive support
for a lot of backends but does not support (to my knowledge) asynchronous
operations (it actually employs the official MySQL C library, which does
not implement it). My aim was not to provide a universal DB connector, but
to provide an implementation interoperable with Boost.Asio that supports
the universal async model (callbacks, coroutines and futures).

There is actually this mailing thread about async operations in SOCI:
https://sourceforge.net/p/soci/mailman/message/20352440/. It mentions here
that implementing async functionality in SOCI is difficult because the
underlying backends don't support it (including the MySQL one). My library
aims to solve these kind of problems, rather than competing with SOCI.

>
>
> > -- not saying it's perfect, best or right --
> > just that I've used it in production systems and even written a backend
> for
> > it to a database that isn't supported out of the box. They worked out
> all
> > the issues for binding custom types like date_time, etc...
>
> Another, thin, approach to binding some types can be found in
> https://github.com/nanodbc/nanodbc

I see this supports async operations, but not with Asio (seems more
C-like). My aim is to make a library that goes well for anyone already
using Asio or Beast.


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