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); +} //////////////////////////////////////////////////////////////////////////