From 0a71eaad620be004e7e28e7d3265a373dcd92395 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 7 Nov 2011 15:00:06 +0200 Subject: Add support for SQL statement tracing --- odb/sqlite/tracer.hxx | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 odb/sqlite/tracer.hxx (limited to 'odb/sqlite/tracer.hxx') diff --git a/odb/sqlite/tracer.hxx b/odb/sqlite/tracer.hxx new file mode 100644 index 0000000..f5466dc --- /dev/null +++ b/odb/sqlite/tracer.hxx @@ -0,0 +1,62 @@ +// file : odb/sqlite/tracer.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef ODB_SQLITE_TRACER_HXX +#define ODB_SQLITE_TRACER_HXX + +#include + +#include + +#include +#include + +namespace odb +{ + namespace sqlite + { + 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 sqlite::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 + +#endif // ODB_SQLITE_TRACER_HXX -- cgit v1.1