diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-11-07 15:00:06 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-11-07 15:00:06 +0200 |
commit | 0e37272b9ab8f37ad2f3d37bf6a09c68e5117d02 (patch) | |
tree | 823c0bc76f6c03e9ecedaaad6db719a7b0367299 /odb/pgsql/tracer.hxx | |
parent | 26f53799c911e44da5d229e8f6bf2c40f79c31b1 (diff) |
Add support for SQL statement tracing
Diffstat (limited to 'odb/pgsql/tracer.hxx')
-rw-r--r-- | odb/pgsql/tracer.hxx | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/odb/pgsql/tracer.hxx b/odb/pgsql/tracer.hxx new file mode 100644 index 0000000..9af7df8 --- /dev/null +++ b/odb/pgsql/tracer.hxx @@ -0,0 +1,62 @@ +// file : odb/pgsql/tracer.hxx +// author : Boris Kolpackov <boris@codesynthesis.com> +// copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef ODB_PGSQL_TRACER_HXX +#define ODB_PGSQL_TRACER_HXX + +#include <odb/pre.hxx> + +#include <odb/tracer.hxx> + +#include <odb/pgsql/forward.hxx> +#include <odb/pgsql/details/export.hxx> + +namespace odb +{ + namespace pgsql + { + class LIBODB_EXPORT tracer: private odb::tracer + { + public: + virtual + ~tracer (); + + virtual void + prepare (connection&, const statement&); + + virtual void + execute (connection&, const statement&); + + virtual void + execute (connection&, const char* statement) = 0; + + virtual void + deallocate (connection&, const statement&); + + private: + // Allow these classes to convert pgsql::tracer to odb::tracer. + // + friend class database; + friend class connection; + friend class transaction; + + virtual void + prepare (odb::connection&, const odb::statement&); + + virtual void + execute (odb::connection&, const odb::statement&); + + virtual void + execute (odb::connection&, const char* statement); + + virtual void + deallocate (odb::connection&, const odb::statement&); + }; + } +} + +#include <odb/post.hxx> + +#endif // ODB_PGSQL_TRACER_HXX |