exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 48fd50f922a7385dfd46c81dc6ecef65ef94812b
parent f8d7c1ef39df615c56417c3a98303cc46e7fd919
Author: Florian Dold <florian.dold@gmail.com>
Date:   Mon,  5 Feb 2018 21:49:35 +0100

exchangedb/postgres: handle duplicate wire transfers correctly

Diffstat:
Msrc/exchangedb/plugin_exchangedb_postgres.c | 8++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c @@ -583,7 +583,8 @@ postgres_prepare (PGconn *db_conn) ",sender_account_details" ",execution_date" ") VALUES " - "($1, $2, $3, $4, $5, $6, $7);", + "($1, $2, $3, $4, $5, $6, $7) " + "ON CONFLICT DO NOTHING;", 7), /* Used in postgres_select_reserves_in_above_serial_id() to obtain inbound transactions for reserves with serial id '\geq' the given parameter */ @@ -1870,9 +1871,8 @@ postgres_reserves_in_insert (void *cls, return GNUNET_DB_STATUS_SOFT_ERROR; } } - /* Create new incoming transaction, SQL "primary key" logic - is used to guard against duplicates. If a duplicate is - detected, we just "succeed" with no changes. */ + /* Create new incoming transaction, "ON CONFLICT DO NOTHING" + is used to guard against duplicates. */ { struct GNUNET_PQ_QueryParam params[] = { GNUNET_PQ_query_param_auto_from_type (&reserve.pub),