[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-exchange] 03/06: add was_decided field and automatically set it v
From: |
gnunet |
Subject: |
[taler-exchange] 03/06: add was_decided field and automatically set it via trigger |
Date: |
Tue, 17 Oct 2023 12:54:25 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository exchange.
commit c0ec4a14441b3015bd23464084b3211c4f87d3dd
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Tue Oct 17 12:16:02 2023 +0200
add was_decided field and automatically set it via trigger
---
src/exchangedb/0002-purse_decision.sql | 5 ++++-
src/exchangedb/0002-purse_requests.sql | 9 ++++-----
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/exchangedb/0002-purse_decision.sql
b/src/exchangedb/0002-purse_decision.sql
index 15a1de1b..091bd468 100644
--- a/src/exchangedb/0002-purse_decision.sql
+++ b/src/exchangedb/0002-purse_decision.sql
@@ -74,6 +74,9 @@ CREATE OR REPLACE FUNCTION purse_decision_insert_trigger()
LANGUAGE plpgsql
AS $$
BEGIN
+ UPDATE purse_requests
+ SET was_decided=TRUE
+ WHERE purse_pub=NEW.purse_pub;
IF NEW.refunded
THEN
INSERT INTO coin_history
@@ -101,7 +104,7 @@ BEGIN
RETURN NEW;
END $$;
COMMENT ON FUNCTION purse_decision_insert_trigger()
- IS 'Automatically generate coin history entry.';
+ IS 'Automatically generate coin history entry and update decision status for
the purse.';
CREATE FUNCTION master_table_purse_decision()
diff --git a/src/exchangedb/0002-purse_requests.sql
b/src/exchangedb/0002-purse_requests.sql
index 3cc7eac9..0fa07633 100644
--- a/src/exchangedb/0002-purse_requests.sql
+++ b/src/exchangedb/0002-purse_requests.sql
@@ -1,6 +1,6 @@
--
-- This file is part of TALER
--- Copyright (C) 2014--2022 Taler Systems SA
+-- Copyright (C) 2014--2023 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
@@ -34,6 +34,7 @@ BEGIN
',age_limit INT4 NOT NULL'
',flags INT4 NOT NULL'
',in_reserve_quota BOOLEAN NOT NULL DEFAULT(FALSE)'
+ ',was_decided BOOLEAN NOT NULL DEFAULT(FALSE)'
',amount_with_fee taler_amount NOT NULL'
',purse_fee taler_amount NOT NULL'
',balance taler_amount NOT NULL DEFAULT (0,0)'
@@ -123,18 +124,16 @@ DECLARE
BEGIN
table_name = concat_ws('_', table_name, partition_suffix);
- -- FIXME: change to materialized index by merge_pub!
EXECUTE FORMAT (
'CREATE INDEX ' || table_name || '_merge_pub '
'ON ' || table_name || ' '
'(merge_pub);'
);
- -- FIXME: drop index on master (crosses partitions)?
- -- Or use materialized index? (needed?)
EXECUTE FORMAT (
'CREATE INDEX ' || table_name || '_purse_expiration '
'ON ' || table_name || ' '
- '(purse_expiration);'
+ '(purse_expiration) ' ||
+ 'WHERE NOT was_decided;'
);
EXECUTE FORMAT (
'ALTER TABLE ' || table_name ||
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-exchange] branch master updated (c741c1fa -> 61a37f50), gnunet, 2023/10/17
- [taler-exchange] 05/06: use new 'was_decided' field instead of expensive subquery, gnunet, 2023/10/17
- [taler-exchange] 02/06: minor clean ups, gnunet, 2023/10/17
- [taler-exchange] 03/06: add was_decided field and automatically set it via trigger,
gnunet <=
- [taler-exchange] 06/06: avoid dumping accounts file everywhere, gnunet, 2023/10/17
- [taler-exchange] 01/06: kill another dead index, beautify SQL, gnunet, 2023/10/17
- [taler-exchange] 04/06: -remove silly comment, gnunet, 2023/10/17