|
Boost : |
From: Kostas Savvidis (kotika98_at_[hidden])
Date: 2024-11-19 10:45:31
> On 13 Nov 2024, at 14:30, Richard Hodges via Boost <boost_at_[hidden]> wrote:
> The Boost formal review of the Boost SQLITE library starts *TODAY*, taking
> place
> from November 13th, 2024 to November 22nd, 2024 (inclusive).
This is not a review, just documentation errata. Overall, pretty good.
1) This library provides a simple C++ sqlite library.
sqlite -> SQLite, https://www.sqlite.org <https://www.sqlite.org/>
2) "link against boost_sqlite for embedding it"
Not clear what embedding means here, "dynamically linking to it" or maybe you mean statically?
3) conn.prepare("insert into author (first_name, last_name) values (?1, ?2), (?3, ?4), (?5, ?6), (?7, ?8)")
.execute({"vinnie", "falco", "richard", "hodges", "ruben", "perez", "peter", "dimov"});
Bad style for SQL? I would simplify:
auto st = conn.prepare("insert into author ...
st.execute( ...
st.execute( ...
st.execute( ...
Incidentally, what is the difference, if any, between placeholders beginning with ? and $
Also, why the quotes in
insert into library (\"name\", author
Is name a reserved keyword in sqlite?
4) in the tuple example:
std::cout << std::get<0>(q) << " authored " << std::get<0>(q) << std::endl;
The second one should be std::get<1> ?
5) "a custom aggregate function"
This is fantastic functionality, is it a wrapper for sqlite-native sqlite3_create_window_function?
Perhaps an example creating a scalar sql function should go before it?
6) Someone already pointed this out, it is confusing that sqlite recognizes just five types but this API has eight very different-looking ones.
Some explanation is due, presumably about how boost_sqlite decides to map types?
7) In the vtables section "module" is mentioned but does it refer to something entrirely different from the next section,
also called modules? This one is presumably a DLL of some sort, is it persistent between program invokations?
Also a "prototype" is mentioned but unclear what that refers to?
8) Is it true that create_scalar_function can be used with or without creating a module?
7) Library Comparisons
Here the author deserves a commendation, as this provides a short overview of the state-of-the-art in this field and raison d'etre.
Should be a required topic for every candidate library!
Looking forward to actually doing something useful with this!
Cheeers,
Kostas
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk