[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-exchange] 01/06: kill another dead index, beautify SQL
From: |
gnunet |
Subject: |
[taler-exchange] 01/06: kill another dead index, beautify SQL |
Date: |
Tue, 17 Oct 2023 12:54:23 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository exchange.
commit f2a28c54cc05082acc02784e5e5e401ee6848413
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Tue Oct 17 11:10:34 2023 +0200
kill another dead index, beautify SQL
---
src/exchangedb/0002-account_merges.sql | 7 +++++++
src/exchangedb/0002-purse_merges.sql | 11 +----------
src/exchangedb/exchange_do_purse_deposit.sql | 4 ++--
src/exchangedb/exchange_do_purse_merge.sql | 8 ++++----
src/exchangedb/exchange_do_reserve_purse.sql | 6 +++---
5 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/src/exchangedb/0002-account_merges.sql
b/src/exchangedb/0002-account_merges.sql
index e791b60d..1dd7e5bf 100644
--- a/src/exchangedb/0002-account_merges.sql
+++ b/src/exchangedb/0002-account_merges.sql
@@ -74,6 +74,13 @@ DECLARE
BEGIN
table_name = concat_ws('_', table_name, partition_suffix);
+ -- Note: this index *may* be useful in
+ -- pg_get_reserve_history depending on how
+ -- smart the DB is when computing the JOIN.
+ -- Removing it MAY boost performance slightly, at
+ -- the expense of trouble if the "merge_by_reserve"
+ -- query planner goes off the rails. Needs benchmarking
+ -- to be sure.
EXECUTE FORMAT (
'CREATE INDEX ' || table_name || '_by_reserve_pub '
'ON ' || table_name || ' '
diff --git a/src/exchangedb/0002-purse_merges.sql
b/src/exchangedb/0002-purse_merges.sql
index 178a36cc..0b4d230b 100644
--- a/src/exchangedb/0002-purse_merges.sql
+++ b/src/exchangedb/0002-purse_merges.sql
@@ -86,16 +86,7 @@ DECLARE
table_name TEXT DEFAULT 'purse_merges';
BEGIN
table_name = concat_ws('_', table_name, partition_suffix);
- -- FIXME: change to materialized index by reserve_pub!
- EXECUTE FORMAT (
- 'CREATE INDEX ' || table_name || '_reserve_pub '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_reserve_pub '
- 'IS ' || quote_literal('needed in reserve history computation') || ';'
- );
+
EXECUTE FORMAT (
'ALTER TABLE ' || table_name ||
' ADD CONSTRAINT ' || table_name || '_purse_merge_request_serial_id_key'
diff --git a/src/exchangedb/exchange_do_purse_deposit.sql
b/src/exchangedb/exchange_do_purse_deposit.sql
index 1e97e2a1..49d3c919 100644
--- a/src/exchangedb/exchange_do_purse_deposit.sql
+++ b/src/exchangedb/exchange_do_purse_deposit.sql
@@ -155,7 +155,7 @@ SELECT COALESCE(partner_serial_id,0)
,reserve_pub
INTO psi
,my_reserve_pub
- FROM exchange.purse_merges
+ FROM purse_merges
WHERE purse_pub=in_purse_pub;
IF NOT FOUND
@@ -212,7 +212,7 @@ THEN
SET purses_active=purses_active-1
WHERE reserve_pub IN
(SELECT reserve_pub
- FROM exchange.purse_merges
+ FROM purse_merges
WHERE purse_pub=my_purse_pub
LIMIT 1);
END IF;
diff --git a/src/exchangedb/exchange_do_purse_merge.sql
b/src/exchangedb/exchange_do_purse_merge.sql
index 7f8af9ed..946fd7e9 100644
--- a/src/exchangedb/exchange_do_purse_merge.sql
+++ b/src/exchangedb/exchange_do_purse_merge.sql
@@ -104,7 +104,7 @@ my_in_reserve_quota := rval.in_reserve_quota;
out_no_balance=FALSE;
-- Store purse merge signature, checks for purse_pub uniqueness
-INSERT INTO exchange.purse_merges
+INSERT INTO purse_merges
(partner_serial_id
,reserve_pub
,purse_pub
@@ -124,7 +124,7 @@ THEN
-- Note that by checking 'merge_sig', we implicitly check
-- identity over everything that the signature covers.
PERFORM
- FROM exchange.purse_merges
+ FROM purse_merges
WHERE purse_pub=in_purse_pub
AND merge_sig=in_merge_sig;
IF NOT FOUND
@@ -169,13 +169,13 @@ THEN
SET purses_active=purses_active-1
WHERE reserve_pub IN
(SELECT reserve_pub
- FROM exchange.purse_merges
+ FROM purse_merges
WHERE purse_pub=my_purse_pub
LIMIT 1);
END IF;
-- Store account merge signature.
-INSERT INTO exchange.account_merges
+INSERT INTO account_merges
(reserve_pub
,reserve_sig
,purse_pub
diff --git a/src/exchangedb/exchange_do_reserve_purse.sql
b/src/exchangedb/exchange_do_reserve_purse.sql
index 43d4c91a..8ae652e6 100644
--- a/src/exchangedb/exchange_do_reserve_purse.sql
+++ b/src/exchangedb/exchange_do_reserve_purse.sql
@@ -33,7 +33,7 @@ AS $$
BEGIN
-- Store purse merge signature, checks for purse_pub uniqueness
-INSERT INTO exchange.purse_merges
+INSERT INTO purse_merges
(partner_serial_id
,reserve_pub
,purse_pub
@@ -53,7 +53,7 @@ THEN
-- Note that by checking 'merge_sig', we implicitly check
-- identity over everything that the signature covers.
PERFORM
- FROM exchange.purse_merges
+ FROM purse_merges
WHERE purse_pub=in_purse_pub
AND merge_sig=in_merge_sig;
IF NOT FOUND
@@ -145,7 +145,7 @@ out_no_funds=FALSE;
-- Store account merge signature.
-INSERT INTO exchange.account_merges
+INSERT INTO account_merges
(reserve_pub
,reserve_sig
,purse_pub
--
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, 2023/10/17
- [taler-exchange] 06/06: avoid dumping accounts file everywhere, gnunet, 2023/10/17
- [taler-exchange] 01/06: kill another dead index, beautify SQL,
gnunet <=
- [taler-exchange] 04/06: -remove silly comment, gnunet, 2023/10/17