aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/sqlite/sqlite_database.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2013-10-10 10:58:40 +0200
committerTobias Brunner <tobias@strongswan.org>2013-10-11 15:29:10 +0200
commitb283a6e9efd2ff16ec5b189435604b0d82d714cd (patch)
tree8b80b4c9249b2e1a51ac555a9e7c5f035524f55e /src/libstrongswan/plugins/sqlite/sqlite_database.c
parente745f5f69ff524cae7a2e34199c01f1dd1e4294e (diff)
downloadstrongswan-b283a6e9efd2ff16ec5b189435604b0d82d714cd.tar.bz2
strongswan-b283a6e9efd2ff16ec5b189435604b0d82d714cd.tar.xz
database: Add support for serializable transactions
Diffstat (limited to 'src/libstrongswan/plugins/sqlite/sqlite_database.c')
-rw-r--r--src/libstrongswan/plugins/sqlite/sqlite_database.c6
1 files changed, 4 insertions, 2 deletions
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;
}