diff options
| author | Christian Grothoff <christian@grothoff.org> | 2018-08-19 16:01:57 +0200 |
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2018-08-19 16:01:57 +0200 |
| commit | 0df2028f96f5977739d4659bf253e0c6d9468326 (patch) | |
| tree | 906222af6c332e219af4a5d112891d7212237de3 /src/exchange/taler-exchange-httpd_payback.c | |
| parent | ddca1f5c68e112928d715e1aee2758c40e14fb51 (diff) | |
make transactions smaller to try to reduce rollbacks
Diffstat (limited to 'src/exchange/taler-exchange-httpd_payback.c')
| -rw-r--r-- | src/exchange/taler-exchange-httpd_payback.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/exchange/taler-exchange-httpd_payback.c b/src/exchange/taler-exchange-httpd_payback.c index 6f910b55..aebbe2b8 100644 --- a/src/exchange/taler-exchange-httpd_payback.c +++ b/src/exchange/taler-exchange-httpd_payback.c @@ -391,6 +391,22 @@ verify_and_execute_payback (struct MHD_Connection *connection, &pc.h_blind); GNUNET_free (coin_ev); + /* make sure coin is 'known' in database */ + { + struct TEH_DB_KnowCoinContext kcc; + int mhd_ret; + + kcc.coin = coin; + kcc.connection = connection; + if (GNUNET_OK != + TEH_DB_run_transaction (connection, + "know coin for payback", + &mhd_ret, + &TEH_DB_know_coin_transaction, + &kcc)) + return mhd_ret; + } + pc.coin_sig = coin_sig; pc.coin_bks = coin_bks; pc.coin = coin; |
