commit 1bfe6bbd2838311b0399f679c86cc87b4a571e70
parent b985a8d7183c2d91fb562009ccb21e3f3052a12b
Author: Christian Grothoff <grothoff@gnunet.org>
Date: Wed, 7 May 2025 17:32:54 +0200
merge 3-purse-decision
Diffstat:
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;