gpg: Provide an interface to patch TOFU updates.
authorNeal H. Walfield <neal@g10code.com>
Fri, 23 Oct 2015 15:23:17 +0000 (17:23 +0200)
committerNeal H. Walfield <neal@g10code.com>
Fri, 23 Oct 2015 15:38:17 +0000 (17:38 +0200)
commit7f65e84ac035e8f7a25639a6b09eb6000115e337
tree2986a57b6f447a2657d80b04d4dc8c59a1477b2c
parent297cf8660ce346638e42934d84d746768f8bb10a
gpg: Provide an interface to patch TOFU updates.

* g10/tofu.c (struct db): Rename begin_transaction to savepoint_batch.
Rename end_transaction to savepoint_batch_commit.  Update users.
Remove field rollback.  Add fields savepoint_inner and
savepoint_inner_commit.  Add field batch_update.
(dump_cache): New function.
(batch_update): New variable.
(begin_transaction). New function.
(end_transaction): New function.
(rollback_transaction): New function.
(tofu_begin_batch_update): New function.
(tofu_end_batch_update): New function.
(closedb): End any pending batch transaction.
(closedbs): Assert that none of the DBs have a started batch
transaction if we not in batch mode.
(record_binding): Use the begin_transaction, end_transaction and
rollback_transaction functions instead of including the SQL inline.
Also start a batch mode transaction if we are using the flat format.
(tofu_register): Use the begin_transaction, end_transaction and
rollback_transaction functions instead of including the SQL inline.
* g10/gpgv.c (tofu_begin_batch_update): New function.
(tofu_end_batch_update): New function.
* g10/test-stubs.c (tofu_begin_batch_update): New function.
(tofu_end_batch_update): New function.

--
Signed-off-by: Neal H. Walfield <neal@g10code.com>
g10/gpgv.c
g10/keylist.c
g10/test-stubs.c
g10/tofu.c
g10/tofu.h