From b283a6e9efd2ff16ec5b189435604b0d82d714cd Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 10 Oct 2013 10:58:40 +0200 Subject: database: Add support for serializable transactions --- src/libstrongswan/plugins/sqlite/sqlite_database.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/libstrongswan/plugins/sqlite/sqlite_database.c') diff --git a/src/libstrongswan/plugins/sqlite/sqlite_database.c b/src/libstrongswan/plugins/sqlite/sqlite_database.c index b5ed7eed2..7b4767855 100644 --- a/src/libstrongswan/plugins/sqlite/sqlite_database.c +++ b/src/libstrongswan/plugins/sqlite/sqlite_database.c @@ -305,9 +305,11 @@ METHOD(database_t, execute, int, } METHOD(database_t, transaction, bool, - private_sqlite_database_t *this) + private_sqlite_database_t *this, bool serializable) { transaction_t *trans; + char *cmd = serializable ? "BEGIN EXCLUSIVE TRANSACTION" + : "BEGIN TRANSACTION"; trans = this->transaction->get(this->transaction); if (trans) @@ -315,7 +317,7 @@ METHOD(database_t, transaction, bool, ref_get(&trans->refs); return TRUE; } - if (execute(this, NULL, "BEGIN EXCLUSIVE TRANSACTION") == -1) + if (execute(this, NULL, cmd) == -1) { return FALSE; } -- cgit v1.2.3