aboutsummaryrefslogtreecommitdiff
path: root/odb/sqlite/statement.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-11-07 15:00:06 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-11-07 15:00:06 +0200
commit0a71eaad620be004e7e28e7d3265a373dcd92395 (patch)
tree66adb95b0a79c376a3380182cd28601901dd741f /odb/sqlite/statement.hxx
parent3c150763bc946bebe2eb5a2e487a28cf25f2e449 (diff)
Add support for SQL statement tracing
Diffstat (limited to 'odb/sqlite/statement.hxx')
-rw-r--r--odb/sqlite/statement.hxx25
1 files changed, 12 insertions, 13 deletions
diff --git a/odb/sqlite/statement.hxx b/odb/sqlite/statement.hxx
index 4fad1a3..4f1e3fd 100644
--- a/odb/sqlite/statement.hxx
+++ b/odb/sqlite/statement.hxx
@@ -15,7 +15,7 @@
#include <cassert>
#include <odb/forward.hxx>
-#include <odb/details/shared-ptr.hxx>
+#include <odb/statement.hxx>
#include <odb/sqlite/version.hxx>
#include <odb/sqlite/binding.hxx>
@@ -30,18 +30,21 @@ namespace odb
{
class connection;
- class LIBODB_SQLITE_EXPORT statement: public details::shared_base
+ class LIBODB_SQLITE_EXPORT statement: public odb::statement
{
public:
virtual
~statement () = 0;
sqlite3_stmt*
- handle ()
+ handle () const
{
return stmt_;
}
+ virtual const char*
+ text () const;
+
// Cached state (public part).
//
public:
@@ -130,11 +133,7 @@ namespace odb
//
protected:
void
- finilize ()
- {
- list_remove ();
- stmt_.reset ();
- }
+ finilize ();
protected:
friend class connection;
@@ -191,18 +190,18 @@ namespace odb
statement* next_;
};
- class LIBODB_SQLITE_EXPORT simple_statement: public statement
+ class LIBODB_SQLITE_EXPORT generic_statement: public statement
{
public:
- simple_statement (connection&, const std::string& statement);
- simple_statement (connection&, const char* statement, std::size_t n);
+ generic_statement (connection&, const std::string& statement);
+ generic_statement (connection&, const char* statement, std::size_t n);
unsigned long long
execute ();
private:
- simple_statement (const simple_statement&);
- simple_statement& operator= (const simple_statement&);
+ generic_statement (const generic_statement&);
+ generic_statement& operator= (const generic_statement&);
private:
bool result_set_;