summaryrefslogtreecommitdiff
path: root/reference/list
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.