diff options
| author | Christian Grothoff <christian@grothoff.org> | 2023-01-11 15:48:02 +0100 | 
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2023-01-11 15:48:02 +0100 | 
| commit | b6f9f0040be7c6be18513c5f7d2eb001f01f193a (patch) | |
| tree | 777a35ce561629eeef30bf2d5e50a5266e4f6c89 | |
| parent | 4dc7775ec4300c58bc6a0f637387659e1f8c4dfb (diff) | |
| parent | e6929fd3ee1e10b68b2379fc605ee3555a1c605d (diff) | |
Merge branch 'master' of git+ssh://git.taler.net/exchange
| -rw-r--r-- | src/exchangedb/0003-withdraw_age_commitments.sql | 29 | ||||
| -rw-r--r-- | 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( @@ -50,14 +51,20 @@ BEGIN      ,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'      ,table_name      ,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  $$; | 
