From da82759b46c20ba5d46e963227b5d40ee1140532 Mon Sep 17 00:00:00 2001 From: Nic Date: Fri, 3 Nov 2023 23:18:30 +0100 Subject: sql fix: auditor-0002 --- .../0002-auditor_deposit_confirmations.sql | 44 ++++++++++++++++++++++ src/auditordb/0002-auditor_exchange_signkeys.sql | 1 + src/auditordb/0002-deposit_confirmations.sql | 36 ------------------ src/auditordb/auditor-0001.sql | 4 +- src/auditordb/auditor-0002.sql.in | 2 +- 5 files changed, 48 insertions(+), 39 deletions(-) create mode 100644 src/auditordb/0002-auditor_deposit_confirmations.sql delete mode 100644 src/auditordb/0002-deposit_confirmations.sql (limited to 'src') diff --git a/src/auditordb/0002-auditor_deposit_confirmations.sql b/src/auditordb/0002-auditor_deposit_confirmations.sql new file mode 100644 index 000000000..a0725925c --- /dev/null +++ b/src/auditordb/0002-auditor_deposit_confirmations.sql @@ -0,0 +1,44 @@ +-- +-- This file is part of TALER +-- Copyright (C) 2014--2022 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 +-- + +SET search_path TO auditor; +DROP TABLE IF EXISTS deposit_confirmations; +CREATE TABLE IF NOT EXISTS auditor_deposit_confirmations +(deposit_confirmation_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY UNIQUE + ,h_contract_terms BYTEA NOT NULL CHECK (LENGTH(h_contract_terms)=64) + ,h_policy BYTEA NOT NULL CHECK (LENGTH(h_policy)=64) + ,h_wire BYTEA NOT NULL CHECK (LENGTH(h_wire)=64) + ,exchange_timestamp INT8 NOT NULL + ,refund_deadline INT8 NOT NULL + ,wire_deadline INT8 NOT NULL + ,total_without_fee taler_amount NOT NULL + ,coin_pubs BYTEA[] NOT NULL CHECK (CARDINALITY(coin_pubs)>0) + ,coin_sigs BYTEA[] NOT NULL CHECK (CARDINALITY(coin_sigs)=CARDINALITY(coin_pubs)) + ,merchant_pub BYTEA NOT NULL CHECK (LENGTH(merchant_pub)=32) + ,exchange_sig BYTEA NOT NULL CHECK (LENGTH(exchange_sig)=64) + ,exchange_pub BYTEA NOT NULL CHECK (LENGTH(exchange_pub)=32) + ,master_sig BYTEA NOT NULL CHECK (LENGTH(master_sig)=64) + ,suppressed BOOLEAN NOT NULL DEFAULT FALSE + ,ancient BOOLEAN NOT NULL DEFAULT FALSE + ,PRIMARY KEY (h_contract_terms,h_wire,merchant_pub,exchange_sig,exchange_pub,master_sig) + ); +COMMENT ON TABLE auditor_deposit_confirmations + IS 'deposit confirmation sent to us by merchants; we must check that the exchange reported these properly.'; + +CREATE INDEX IF NOT EXISTS auditor_deposit_confirmations_not_ancient + ON auditor_deposit_confirmations + (exchange_timestamp ASC) + WHERE NOT ancient; \ No newline at end of file diff --git a/src/auditordb/0002-auditor_exchange_signkeys.sql b/src/auditordb/0002-auditor_exchange_signkeys.sql index cf5b01c8a..127365e64 100644 --- a/src/auditordb/0002-auditor_exchange_signkeys.sql +++ b/src/auditordb/0002-auditor_exchange_signkeys.sql @@ -14,6 +14,7 @@ -- TALER; see the file COPYING. If not, see -- +DROP TABLE IF EXISTS auditor_exchange_signkeys; CREATE TABLE IF NOT EXISTS auditor_exchange_signkeys (exchange_pub BYTEA PRIMARY KEY CHECK (LENGTH(exchange_pub)=32) ,master_sig BYTEA NOT NULL CHECK (LENGTH(master_sig)=64) diff --git a/src/auditordb/0002-deposit_confirmations.sql b/src/auditordb/0002-deposit_confirmations.sql deleted file mode 100644 index e246e131d..000000000 --- a/src/auditordb/0002-deposit_confirmations.sql +++ /dev/null @@ -1,36 +0,0 @@ --- --- This file is part of TALER --- Copyright (C) 2014--2022 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 --- - -SET search_path TO auditor; -CREATE TABLE IF NOT EXISTS deposit_confirmations - (deposit_confirmation_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY UNIQUE - ,h_contract_terms BYTEA NOT NULL CHECK (LENGTH(h_contract_terms)=64) - ,h_policy BYTEA NOT NULL CHECK (LENGTH(h_policy)=64) - ,h_wire BYTEA NOT NULL CHECK (LENGTH(h_wire)=64) - ,exchange_timestamp INT8 NOT NULL - ,refund_deadline INT8 NOT NULL - ,wire_deadline INT8 NOT NULL - ,total_without_fee taler_amount NOT NULL - ,coin_pubs BYTEA[] NOT NULL CHECK (CARDINALITY(coin_pubs)>0) - ,coin_sigs BYTEA[] NOT NULL CHECK (CARDINALITY(coin_sigs)=CARDINALITY(coin_pubs)) - ,merchant_pub BYTEA NOT NULL CHECK (LENGTH(merchant_pub)=32) - ,exchange_sig BYTEA NOT NULL CHECK (LENGTH(exchange_sig)=64) - ,exchange_pub BYTEA NOT NULL CHECK (LENGTH(exchange_pub)=32) - ,master_sig BYTEA NOT NULL CHECK (LENGTH(master_sig)=64) - ,PRIMARY KEY (h_contract_terms,h_wire,coin_pub,merchant_pub,exchange_sig,exchange_pub,master_sig) - ); -COMMENT ON TABLE deposit_confirmations - IS 'deposit confirmation sent to us by merchants; we must check that the exchange reported these properly.'; diff --git a/src/auditordb/auditor-0001.sql b/src/auditordb/auditor-0001.sql index e54641ac4..779f61aaa 100644 --- a/src/auditordb/auditor-0001.sql +++ b/src/auditordb/auditor-0001.sql @@ -296,8 +296,8 @@ CREATE TABLE IF NOT EXISTS deposit_confirmations ,exchange_sig BYTEA NOT NULL CHECK (LENGTH(exchange_sig)=64) ,exchange_pub BYTEA NOT NULL CHECK (LENGTH(exchange_pub)=32) ,master_sig BYTEA NOT NULL CHECK (LENGTH(master_sig)=64) - ,suppressed BOOLEAN NOT NULL DEFAULT FALSE, - ,ancient BOOLEAN NOT NULL DEFAULT FALSE, + ,suppressed BOOLEAN NOT NULL DEFAULT FALSE + ,ancient BOOLEAN NOT NULL DEFAULT FALSE ,PRIMARY KEY (h_contract_terms,h_wire,merchant_pub,exchange_sig,exchange_pub,master_sig) ); COMMENT ON TABLE deposit_confirmations diff --git a/src/auditordb/auditor-0002.sql.in b/src/auditordb/auditor-0002.sql.in index 3d07433ea..5b8f9e074 100644 --- a/src/auditordb/auditor-0002.sql.in +++ b/src/auditordb/auditor-0002.sql.in @@ -45,6 +45,6 @@ END $$; #include "0002-auditor_progress.sql" #include "0002-auditor_purses.sql" #include "0002-auditor_reserves.sql" -#include "0002-deposit_confirmations.sql" +#include "0002-auditor_deposit_confirmations.sql" COMMIT; -- cgit v1.2.3