From 61600c432ad6588a54a6851e729f34c494050ccb Mon Sep 17 00:00:00 2001 From: cxl Date: Wed, 13 Oct 2010 17:26:07 +0000 Subject: [PATCH] .Sqlite3: GetTransactionLevel (thanks zsolt) git-svn-id: svn://ultimatepp.org/upp/trunk@2779 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/plugin/sqlite3/Sqlite3.h | 5 +++-- uppsrc/plugin/sqlite3/Sqlite3upp.cpp | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/uppsrc/plugin/sqlite3/Sqlite3.h b/uppsrc/plugin/sqlite3/Sqlite3.h index a7a8c5016..a4a6337cd 100644 --- a/uppsrc/plugin/sqlite3/Sqlite3.h +++ b/uppsrc/plugin/sqlite3/Sqlite3.h @@ -24,8 +24,9 @@ public: virtual Vector EnumDatabases(); virtual Vector EnumTables(String database); virtual Vector EnumViews(String database); - virtual Vector EnumColumns(String database, String table); - + virtual Vector EnumColumns(String database, String table); + virtual int GetTransactionLevel() const; + // Some opaque structures used by the sqlite3 library typedef struct sqlite3 sqlite3; typedef struct sqlite3_stmt sqlite3_stmt; diff --git a/uppsrc/plugin/sqlite3/Sqlite3upp.cpp b/uppsrc/plugin/sqlite3/Sqlite3upp.cpp index 6a973f9e8..33e1df131 100644 --- a/uppsrc/plugin/sqlite3/Sqlite3upp.cpp +++ b/uppsrc/plugin/sqlite3/Sqlite3upp.cpp @@ -459,6 +459,11 @@ Vector Sqlite3Session::EnumViews(String database) { return out; } +int Sqlite3Session::GetTransactionLevel() const +{ + int autocommit = sqlite3_get_autocommit(db); + return (autocommit ? 0 : 1); +} //////////////////////////////////////////////////////////////////////////