From df5e58e6e5eb2727a185bf9a98a462c18fa3a83d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 8 Mar 2018 18:06:26 +0200 Subject: Setup project database infrastructure --- bdep/diagnostics.hxx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'bdep/diagnostics.hxx') diff --git a/bdep/diagnostics.hxx b/bdep/diagnostics.hxx index 366b6c0..9a233f0 100644 --- a/bdep/diagnostics.hxx +++ b/bdep/diagnostics.hxx @@ -5,6 +5,8 @@ #ifndef BDEP_DIAGNOSTICS_HXX #define BDEP_DIAGNOSTICS_HXX +#include + #include #include // Note: not @@ -176,11 +178,25 @@ namespace bdep // trace // - struct trace_mark_base: basic_mark_base + // Also implement the ODB tracer interface so that we can use it to trace + // database statement execution. + // + struct trace_mark_base: basic_mark_base, odb::tracer { explicit trace_mark_base (const char* name, const void* data = nullptr) : basic_mark_base ("trace", name, data) {} + + // odb::tracer interface. + // + virtual void + prepare (odb::connection&, const odb::statement&); + + virtual void + execute (odb::connection&, const char* statement); + + virtual void + deallocate (odb::connection&, const odb::statement&); }; using trace_mark = butl::diag_mark; -- cgit v1.1