exchange

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

commit 1bfe6bbd2838311b0399f679c86cc87b4a571e70
parent b985a8d7183c2d91fb562009ccb21e3f3052a12b
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Wed,  7 May 2025 17:32:54 +0200

merge 3-purse-decision

Diffstat:
Msrc/exchangedb/0002-purse_decision.sql | 5+++++
Dsrc/exchangedb/0003-purse_deletion.sql | 52----------------------------------------------------
Msrc/exchangedb/exchange-0003.sql.in | 2--
3 files changed, 5 insertions(+), 54 deletions(-)

diff --git a/src/exchangedb/0002-purse_decision.sql b/src/exchangedb/0002-purse_decision.sql @@ -65,6 +65,11 @@ BEGIN ' ADD CONSTRAINT ' || table_name || '_purse_action_serial_id_key' ' UNIQUE (purse_decision_serial_id) ' ); + EXECUTE FORMAT ( + 'ALTER TABLE ' || table_name || + ' ADD CONSTRAINT ' || table_name || '_purse_decision_purse_pub' + ' UNIQUE (purse_pub) ' + ); END $$; diff --git a/src/exchangedb/0003-purse_deletion.sql b/src/exchangedb/0003-purse_deletion.sql @@ -1,52 +0,0 @@ --- --- This file is part of TALER --- Copyright (C) 2024 Taler Systems SA --- --- TALER is free software; you can redistribute it and/or modify it under the --- terms of the GNU General Public License as published by the Free Software --- Foundation; either version 3, or (at your option) any later version. --- --- TALER is distributed in the hope that it will be useful, but WITHOUT ANY --- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR --- A PARTICULAR PURPOSE. See the GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License along with --- TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> --- - --- Adds a 'unique' constraint to the 'purse_pub'. --- This is not only semantically correct, but also --- creates a dramatic speed-up on the --- pg_select_purse query (which otherwise fails to --- use indices correctly). - -CREATE FUNCTION constrain_table_purse_decision3( - IN partition_suffix TEXT -) -RETURNS VOID -LANGUAGE plpgsql -AS $$ -DECLARE - table_name TEXT DEFAULT 'purse_decision'; -BEGIN - table_name = concat_ws('_', table_name, partition_suffix); - EXECUTE FORMAT ( - 'ALTER TABLE ' || table_name || - ' ADD CONSTRAINT ' || table_name || '_purse_decision_purse_pub' - ' UNIQUE (purse_pub) ' - ); -END -$$; - -INSERT INTO exchange_tables - (name - ,version - ,action - ,partitioned - ,by_range) - VALUES - ('purse_decision3' - ,'exchange-0003' - ,'constrain' - ,TRUE - ,FALSE); diff --git a/src/exchangedb/exchange-0003.sql.in b/src/exchangedb/exchange-0003.sql.in @@ -19,6 +19,4 @@ BEGIN; SELECT _v.register_patch('exchange-0003', NULL, NULL); SET search_path TO exchange; -#include "0003-purse_deletion.sql" - COMMIT;