gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: choose correct partition pivot a


From: gnunet
Subject: [taler-exchange] branch master updated: choose correct partition pivot and denormalization for withdraw-age related tables
Date: Wed, 11 Jan 2023 15:24:01 +0100

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

oec pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new e6929fd3 choose correct partition pivot and denormalization for 
withdraw-age related tables
e6929fd3 is described below

commit e6929fd3ee1e10b68b2379fc605ee3555a1c605d
Author: Özgür Kesim <oec-taler@kesim.org>
AuthorDate: Wed Jan 11 15:23:51 2023 +0100

    choose correct partition pivot and denormalization for withdraw-age related 
tables
---
 src/exchangedb/0003-withdraw_age_commitments.sql | 29 +++++++++++++++---------
 src/exchangedb/0003-withdraw_age_reveals.sql     | 16 ++++++-------
 2 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/src/exchangedb/0003-withdraw_age_commitments.sql 
b/src/exchangedb/0003-withdraw_age_commitments.sql
index 6ef118c8..e2205b12 100644
--- a/src/exchangedb/0003-withdraw_age_commitments.sql
+++ b/src/exchangedb/0003-withdraw_age_commitments.sql
@@ -29,13 +29,14 @@ BEGIN
       ',h_commitment BYTEA PRIMARY KEY CHECK (LENGTH(h_commitment)=64)'
       ',amount_with_fee_val INT8 NOT NULL'
       ',amount_with_fee_frac INT4 NOT NULL'
-      ',noreveal_index INT4 NOT NULL'
-      ',reserve_uuid INT8 NOT NULL' -- TODO: can here be the foreign key 
reference?
+      ',max_age_group INT2 NOT NULL'
+      ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)'
       ',reserve_sig BYTEA CHECK (LENGTH(reserve_sig)=64)'
+      ',noreveal_index INT4 NOT NULL'
       ',timestamp INT8 NOT NULL'
     ') %s ;'
     ,table_name
-    ,'PARTITION BY HASH (reserve_uuid)' -- TODO: does that make sense?
+    ,'PARTITION BY HASH (h_commitment)'
     ,partition_suffix
   );
   PERFORM comment_partitioned_table(
@@ -49,6 +50,12 @@ BEGIN
     ,table_name
     ,partition_suffix
   );
+  PERFORM comment_partitioned_column(
+     'The maximum age group that the client commits to with this request'
+    ,'max_age_group'
+    ,table_name
+    ,partition_suffix
+  );
   PERFORM comment_partitioned_column(
      'Commitment made by the client, hash over the various client inputs in 
the cut-and-choose protocol'
     ,'h_commitment'
@@ -56,8 +63,8 @@ BEGIN
     ,partition_suffix
   );
   PERFORM comment_partitioned_column(
-     'Reference to the reserve from which the coins are goin to be withdrawn'
-    ,'reserve_uuid'
+     'Reference to the public key of the reserve from which the coins are 
going to be withdrawn'
+    ,'reserve_pub'
     ,table_name
     ,partition_suffix
   );
@@ -89,14 +96,14 @@ BEGIN
   table_name = concat_ws('_', table_name, partition_suffix);
 
   EXECUTE FORMAT (
-    'CREATE INDEX ' || table_name || '_by_reserve_uuid'
+    'CREATE INDEX ' || table_name || '_by_reserve_pub'
     ' ON ' || table_name ||
-    ' (reserve_uuid);'
+    ' (reserve_pub);'
   );
   EXECUTE FORMAT (
     'ALTER TABLE ' || table_name ||
     ' ADD CONSTRAINT ' || table_name || '_withdraw_age_commitment_id_key'
-    ' UNIQUE (withdraw_age_commitment_id)'
+    ' UNIQUE (withdraw_age_commitment_id);'
   );
 END
 $$;
@@ -111,9 +118,9 @@ DECLARE
 BEGIN
   EXECUTE FORMAT (
     'ALTER TABLE ' || table_name ||
-    ' ADD CONSTRAINT ' || table_name || '_foreign_reserve_uuid'
-    ' FOREIGN KEY (reserve_uuid) '
-    ' REFERENCES reserves (reserve_uuid) ON DELETE CASCADE'
+    ' ADD CONSTRAINT ' || table_name || '_foreign_reserve_pub'
+    ' FOREIGN KEY (reserve_pub)'
+    ' REFERENCES reserves (reserve_pub) ON DELETE CASCADE;'
   );
 END
 $$;
diff --git a/src/exchangedb/0003-withdraw_age_reveals.sql 
b/src/exchangedb/0003-withdraw_age_reveals.sql
index 9e421c9b..2279c647 100644
--- a/src/exchangedb/0003-withdraw_age_reveals.sql
+++ b/src/exchangedb/0003-withdraw_age_reveals.sql
@@ -25,13 +25,13 @@ DECLARE
 BEGIN
   PERFORM create_partitioned_table(
     'CREATE TABLE %I'
-      '(withdraw_age_commitments_id INT8 NOT NULL' -- TODO: can here be the 
foreign key reference?
+      '(h_commitment BYTEA NOT NULL CHECK (LENGTH(h_commitment)=32)'
       ',freshcoin_index INT4 NOT NULL'
-      ',denominations_serial INT8 NOT NULL' -- TODO: can here be the foreign 
key reference?
+      ',denominations_serial INT8 NOT NULL'
       ',h_coin_ev BYTEA CHECK (LENGTH(h_coin_ev)=32)'
     ') %s ;'
     ,table_name
-    ,'PARTITION BY HASH (withdraw_age_commitments_id)' -- TODO: does that make 
sense?
+    ,'PARTITION BY HASH (h_commitment)'
     ,partition_suffix
   );
   PERFORM comment_partitioned_table(
@@ -41,7 +41,7 @@ BEGIN
   );
   PERFORM comment_partitioned_column(
      'Foreign key reference to the corresponding commitment'
-    ,'withdraw_age_commitments_id'
+    ,'h_commitment'
     ,table_name
     ,partition_suffix
   );
@@ -76,15 +76,15 @@ DECLARE
 BEGIN
   EXECUTE FORMAT (
     'ALTER TABLE ' || table_name ||
-    ' ADD CONSTRAINT ' || table_name || '_foreign_withdraw_age_commitment_id'
-    ' FOREIGN KEY (withdraw_age_commitments_id) '
-    ' REFERENCES withdraw_age_commitments (withdraw_age_commitment_id) ON 
DELETE CASCADE'
+    ' ADD CONSTRAINT ' || table_name || '_foreign_h_commitment'
+    ' FOREIGN KEY (h_commitment)'
+    ' REFERENCES withdraw_age_commitments (h_commitment) ON DELETE CASCADE;'
   );
   EXECUTE FORMAT (
     'ALTER TABLE ' || table_name ||
     ' ADD CONSTRAINT ' || table_name || '_foreign_denominations_serial'
     ' FOREIGN KEY (denominations_serial) '
-    ' REFERENCES denominations (denominations_serial) ON DELETE CASCADE'
+    ' REFERENCES denominations (denominations_serial) ON DELETE CASCADE;'
   );
 END
 $$;

-- 
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]