diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-10-10 10:58:40 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-10-11 15:29:10 +0200 |
commit | b283a6e9efd2ff16ec5b189435604b0d82d714cd (patch) | |
tree | 8b80b4c9249b2e1a51ac555a9e7c5f035524f55e /src/libstrongswan/plugins/sqlite/sqlite_database.c | |
parent | e745f5f69ff524cae7a2e34199c01f1dd1e4294e (diff) | |
download | strongswan-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.c | 6 |
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; } |