gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: remove optimization combining tw


From: gnunet
Subject: [taler-exchange] branch master updated: remove optimization combining two SQL statements on reserve update as it could not be shown to have a significant benefit at this time (only 2% fewer serialization failures). May deserve further evaluation in the future, if reserve update ever becomes crucial.
Date: Thu, 13 Aug 2020 20:49:51 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new f581b54d remove optimization combining two SQL statements on reserve 
update as it could not be shown to have a significant benefit at this time 
(only 2% fewer serialization failures). May deserve further evaluation in the 
future, if reserve update ever becomes crucial.
f581b54d is described below

commit f581b54dfbe0996c2b25ccf4995967e594811597
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Thu Aug 13 20:49:48 2020 +0200

    remove optimization combining two SQL statements on reserve update as it 
could not be shown to have a significant benefit at this time (only 2% fewer 
serialization failures). May deserve further evaluation in the future, if 
reserve update ever becomes crucial.
---
 src/exchangedb/plugin_exchangedb_postgres.c | 49 -----------------------------
 1 file changed, 49 deletions(-)

diff --git a/src/exchangedb/plugin_exchangedb_postgres.c 
b/src/exchangedb/plugin_exchangedb_postgres.c
index e3604ec0..c0ae1fdf 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -399,30 +399,6 @@ postgres_get_session (void *cls)
                               " WHERE"
                               " reserve_pub=$5;",
                               5),
-      /* Used in #insert_withdraw_info() when coins are withdrawn from the 
reserve */
-      GNUNET_PQ_make_prepare ("reserve_reduce",
-                              "UPDATE reserves"
-                              " SET"
-                              " gc_date="
-                              " CASE WHEN (reserves.gc_date > $2)"
-                              "      THEN reserves.gc_date"
-                              "      ELSE $2"
-                              " END"
-                              ",current_balance_val="
-                              " CASE WHEN (reserves.current_balance_frac >= 
$4)"
-                              "      THEN reserves.current_balance_val - $3"
-                              "      ELSE reserves.current_balance_val - $3 - 
1"
-                              " END"
-                              ",current_balance_frac="
-                              " CASE WHEN (reserves.current_balance_frac >= 
$4)"
-                              "      THEN reserves.current_balance_frac - $4"
-                              "      ELSE 100000000 + 
reserves.current_balance_frac - $4"
-                              " END"
-                              " WHERE reserve_pub=$1"
-                              "  AND current_balance_val >= $3"
-                              "  AND ( (current_balance_frac >= $4) OR"
-                              "        (current_balance_val > $3) )",
-                              4),
       /* Used in #postgres_reserves_in_insert() to store transaction details */
       GNUNET_PQ_make_prepare ("reserves_in_add_transaction",
                               "INSERT INTO reserves_in "
@@ -2179,7 +2155,6 @@ postgres_insert_withdraw_info (
     return qs;
   }
 
-#if 1
   /* update reserve balance */
   reserve.pub = collectable->reserve_pub;
   if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
@@ -2220,30 +2195,6 @@ postgres_insert_withdraw_info (
     GNUNET_break (0);
     qs = GNUNET_DB_STATUS_HARD_ERROR;
   }
-#else
-  {
-    struct GNUNET_PQ_QueryParam params[] = {
-      GNUNET_PQ_query_param_auto_from_type (&collectable->reserve_pub),
-      TALER_PQ_query_param_absolute_time (&expiry),
-      TALER_PQ_query_param_amount (&collectable->amount_with_fee),
-      GNUNET_PQ_query_param_end
-    };
-
-    expiry = GNUNET_TIME_absolute_add (now,
-                                       pg->legal_reserve_expiration_time);
-    qs = GNUNET_PQ_eval_prepared_non_select (session->conn,
-                                             "reserve_reduce",
-                                             params);
-    if (0 == qs)
-    {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                  "Withdrawal from reserve `%s' refused due to balance 
mismatch.\n",
-                  TALER_B2S (&collectable->reserve_pub));
-      return GNUNET_DB_STATUS_HARD_ERROR;
-    }
-  }
-
-#endif
   return qs;
 }
 

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]