|
Boost : |
Subject: [boost] sqlpp11, 3rd iteration
From: Roland Bock (rbock_at_[hidden])
Date: 2014-08-18 12:49:39
Dear Boosters,
Quite a bit has happened since last I reported about sqlpp11 in this
forum [1,2]. I have incorporated a lot of the feedback you gave me,
hopefully bringing the library closer to a reviewable state.
Source: https://github.com/rbock/sqlpp11
Doku: https://github.com/rbock/sqlpp11/wiki (not at all formal yet)
I am hoping for more feedback both here and live at CppCon
(http://sched.co/1r4lue3)
Here are some noteworthy changes:
_Restructuring:_
The code has undergone a major restructuring, leading to a much simpler
and thereby much more flexible way to define the structure of SQL
statements. As a result, it would now be quite simple to add vendor
specific features sqlpp11 connector libraries. Dominique Devienne
mentioned array binding for inserts, Johan Baltié mentioned hierarchical
searches (both features of Oracle). If you are interested in writing a
connector and adding such features, please let me know, I'll walk you
through it.
_NULL handling:_
Enabled by the restructured code and spurred by the library quince by
Michael Shepanski, sqlpp11 can now calculate which result fields can or
cannot be NULL.
Speaking of which, handling NULL for result values has been discussed a
lot. The library now has compile-time configurable behavior, you can
choose between an std::optional-like interface and mapping NULL to the
trivial value of the result type, e.g. 0 for numbers or "" for strings,
see also https://github.com/rbock/sqlpp11/wiki/NULL
_Connectors:_
Matthijs wrote a new postgresql connector from scratch, see
https://github.com/matthijs/sqlpp11-connector-postgresql
The sqlite3 connector received a bunch of corrections, thanks to dirkvdb
_Compilers:_
Known to compile with clang>=3.1 and gcc>=4.8. I currently cannot test
with MSVC or Intel or others, but if you happen to have the latest top
notch version of any of those, I'd be interested in what they have to
say about sqlpp11.
Cheers,
Roland
[1]: http://lists.boost.org/Archives/boost/2013/11/208388.php
[2]: http://lists.boost.org/Archives/boost/2014/02/211206.php
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk