blob: 8d95506064cb22dc995771f2dad18b3379227c29 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
+ stderr_tracer doesn't trace statement preparation [2.4.0]
If a statement is invalid, then it will fail during preparation. However,
currently, there is no way to see that statement since stderr_tracer doesn't
trace this event.
Options:
* trace preparation by default - too much info
* allow changing behavior at runtime - not thread safe
* support via bool flag and make user instantiate - burdensome
* support via bool flag and instantiate stderr_full_tracer - code bloat
but seems the best option
+ C++11 support is not trully header only [c++11]
Added a new class details::function_wrapper<F>, which can be used similarly
to std::function<F>. In particular, C++11 code can construct a
function_wrapper from a lambda, or a std::function, or another
function_wrapper. But it differs from std::function in this respect:
C++98 code can declare and define function_wrapper objects.
Now all builds (98 or 11) of libodb keep their callbacks in
function_wrappers. C++11 user code can register std::functions or lambdas as
callbacks, and the glue that turns those into function_wrappers for libodb is
header-only.
This technique is currently used for data migrations and query factories.
|