combine v3 and v4 of exchange schema into v2 due to major incompatible tuple change forthcoming
This commit is contained in:
parent
c93ce9ea2e
commit
d083536786
@ -29,7 +29,6 @@ BEGIN
|
|||||||
',h_payto BYTEA PRIMARY KEY CHECK (LENGTH(h_payto)=32)'
|
',h_payto BYTEA PRIMARY KEY CHECK (LENGTH(h_payto)=32)'
|
||||||
',kyc_prox BYTEA NOT NULL CHECK (LENGTH(kyc_prox)=32)'
|
',kyc_prox BYTEA NOT NULL CHECK (LENGTH(kyc_prox)=32)'
|
||||||
',provider VARCHAR NOT NULL'
|
',provider VARCHAR NOT NULL'
|
||||||
',birthdate VARCHAR'
|
|
||||||
',collection_time INT8 NOT NULL'
|
',collection_time INT8 NOT NULL'
|
||||||
',expiration_time INT8 NOT NULL'
|
',expiration_time INT8 NOT NULL'
|
||||||
',encrypted_attributes BYTEA NOT NULL'
|
',encrypted_attributes BYTEA NOT NULL'
|
@ -19,6 +19,9 @@ CREATE TABLE wire_accounts
|
|||||||
,master_sig BYTEA CHECK (LENGTH(master_sig)=64)
|
,master_sig BYTEA CHECK (LENGTH(master_sig)=64)
|
||||||
,is_active BOOLEAN NOT NULL
|
,is_active BOOLEAN NOT NULL
|
||||||
,last_change INT8 NOT NULL
|
,last_change INT8 NOT NULL
|
||||||
|
,conversion_url VARCHAR DEFAULT (NULL)
|
||||||
|
,debit_restrictions VARCHAR DEFAULT (NULL)
|
||||||
|
,credit_restrictions VARCHAR DEFAULT (NULL)
|
||||||
);
|
);
|
||||||
COMMENT ON TABLE wire_accounts
|
COMMENT ON TABLE wire_accounts
|
||||||
IS 'Table with current and historic bank accounts of the exchange. Entries never expire as we need to remember the last_change column indefinitely.';
|
IS 'Table with current and historic bank accounts of the exchange. Entries never expire as we need to remember the last_change column indefinitely.';
|
||||||
@ -30,5 +33,13 @@ COMMENT ON COLUMN wire_accounts.is_active
|
|||||||
IS 'true if we are currently supporting the use of this account.';
|
IS 'true if we are currently supporting the use of this account.';
|
||||||
COMMENT ON COLUMN wire_accounts.last_change
|
COMMENT ON COLUMN wire_accounts.last_change
|
||||||
IS 'Latest time when active status changed. Used to detect replays of old messages.';
|
IS 'Latest time when active status changed. Used to detect replays of old messages.';
|
||||||
|
COMMENT ON COLUMN wire_accounts.conversion_url
|
||||||
|
IS 'URL of a currency conversion service if conversion is needed when this account is used; NULL if there is no conversion.';
|
||||||
|
COMMENT ON COLUMN wire_accounts.debit_restrictions
|
||||||
|
IS 'JSON array describing restrictions imposed when debiting this account. Empty for no restrictions, NULL if account was migrated from previous database revision or account is disabled.';
|
||||||
|
COMMENT ON COLUMN wire_accounts.credit_restrictions
|
||||||
|
IS 'JSON array describing restrictions imposed when crediting this account. Empty for no restrictions, NULL if account was migrated from previous database revision or account is disabled.';
|
||||||
|
|
||||||
|
|
||||||
-- "wire_accounts" has no sequence because it is a 'mutable' table
|
-- "wire_accounts" has no sequence because it is a 'mutable' table
|
||||||
-- and is of no concern to the auditor
|
-- and is of no concern to the auditor
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
--
|
|
||||||
-- This file is part of TALER
|
|
||||||
-- Copyright (C) 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
|
|
||||||
-- 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 <http://www.gnu.org/licenses/>
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION master_table_kyc_attributes_V2()
|
|
||||||
RETURNS VOID
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $$
|
|
||||||
DECLARE
|
|
||||||
table_name VARCHAR DEFAULT 'kyc_attributes';
|
|
||||||
BEGIN
|
|
||||||
EXECUTE FORMAT (
|
|
||||||
'ALTER TABLE ' || table_name ||
|
|
||||||
' DROP COLUMN birthdate;'
|
|
||||||
);
|
|
||||||
END $$;
|
|
||||||
|
|
||||||
COMMENT ON FUNCTION master_table_kyc_attributes_V2
|
|
||||||
IS 'Removes birthdate column from the kyc_attributes table';
|
|
||||||
|
|
||||||
INSERT INTO exchange_tables
|
|
||||||
(name
|
|
||||||
,version
|
|
||||||
,action
|
|
||||||
,partitioned
|
|
||||||
,by_range)
|
|
||||||
VALUES
|
|
||||||
('kyc_attributes_V2'
|
|
||||||
,'exchange-0004'
|
|
||||||
,'master'
|
|
||||||
,TRUE
|
|
||||||
,FALSE);
|
|
@ -1,26 +0,0 @@
|
|||||||
--
|
|
||||||
-- This file is part of TALER
|
|
||||||
-- Copyright (C) 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
|
|
||||||
-- 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 <http://www.gnu.org/licenses/>
|
|
||||||
--
|
|
||||||
|
|
||||||
ALTER TABLE wire_accounts
|
|
||||||
ADD COLUMN conversion_url VARCHAR DEFAULT (NULL),
|
|
||||||
ADD COLUMN debit_restrictions VARCHAR DEFAULT (NULL),
|
|
||||||
ADD COLUMN credit_restrictions VARCHAR DEFAULT (NULL);
|
|
||||||
COMMENT ON COLUMN wire_accounts.conversion_url
|
|
||||||
IS 'URL of a currency conversion service if conversion is needed when this account is used; NULL if there is no conversion.';
|
|
||||||
COMMENT ON COLUMN wire_accounts.debit_restrictions
|
|
||||||
IS 'JSON array describing restrictions imposed when debiting this account. Empty for no restrictions, NULL if account was migrated from previous database revision or account is disabled.';
|
|
||||||
COMMENT ON COLUMN wire_accounts.credit_restrictions
|
|
||||||
IS 'JSON array describing restrictions imposed when crediting this account. Empty for no restrictions, NULL if account was migrated from previous database revision or account is disabled.';
|
|
@ -18,19 +18,13 @@ sqlinputs = \
|
|||||||
exchange_do_*.sql \
|
exchange_do_*.sql \
|
||||||
procedures.sql.in \
|
procedures.sql.in \
|
||||||
0002-*.sql \
|
0002-*.sql \
|
||||||
exchange-0002.sql.in \
|
exchange-0002.sql.in
|
||||||
0003-*.sql \
|
|
||||||
exchange-0003.sql.in \
|
|
||||||
0004-*.sql \
|
|
||||||
exchange-0004.sql.in
|
|
||||||
|
|
||||||
sql_DATA = \
|
sql_DATA = \
|
||||||
benchmark-0001.sql \
|
benchmark-0001.sql \
|
||||||
versioning.sql \
|
versioning.sql \
|
||||||
exchange-0001.sql \
|
exchange-0001.sql \
|
||||||
exchange-0002.sql \
|
exchange-0002.sql \
|
||||||
exchange-0003.sql \
|
|
||||||
exchange-0004.sql \
|
|
||||||
drop.sql \
|
drop.sql \
|
||||||
procedures.sql
|
procedures.sql
|
||||||
|
|
||||||
@ -41,9 +35,7 @@ BUILT_SOURCES = \
|
|||||||
procedures.sql
|
procedures.sql
|
||||||
|
|
||||||
CLEANFILES = \
|
CLEANFILES = \
|
||||||
exchange-0002.sql \
|
exchange-0002.sql
|
||||||
exchange-0003.sql \
|
|
||||||
exchange-0004.sql
|
|
||||||
|
|
||||||
procedures.sql: procedures.sql.in exchange_do_*.sql
|
procedures.sql: procedures.sql.in exchange_do_*.sql
|
||||||
chmod +w $@ || true
|
chmod +w $@ || true
|
||||||
@ -55,16 +47,6 @@ exchange-0002.sql: exchange-0002.sql.in 0002-*.sql
|
|||||||
gcc -E -P -undef - < exchange-0002.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
|
gcc -E -P -undef - < exchange-0002.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
|
||||||
chmod ugo-w $@
|
chmod ugo-w $@
|
||||||
|
|
||||||
exchange-0003.sql: exchange-0003.sql.in 0003-*.sql
|
|
||||||
chmod +w $@ || true
|
|
||||||
gcc -E -P -undef - < exchange-0003.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
|
|
||||||
chmod ugo-w $@
|
|
||||||
|
|
||||||
exchange-0004.sql: exchange-0004.sql.in 0004-*.sql
|
|
||||||
chmod +w $@ || true
|
|
||||||
gcc -E -P -undef - < exchange-0004.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
|
|
||||||
chmod ugo-w $@
|
|
||||||
|
|
||||||
check_SCRIPTS = \
|
check_SCRIPTS = \
|
||||||
test_idempotency.sh
|
test_idempotency.sh
|
||||||
|
|
||||||
|
@ -86,5 +86,14 @@ COMMENT ON TYPE exchange_do_array_reserve_insert_return_type
|
|||||||
#include "0002-revolving_work_shards.sql"
|
#include "0002-revolving_work_shards.sql"
|
||||||
#include "0002-partners.sql"
|
#include "0002-partners.sql"
|
||||||
#include "0002-partner_accounts.sql"
|
#include "0002-partner_accounts.sql"
|
||||||
|
#include "0002-purse_actions.sql"
|
||||||
|
#include "0002-purse_deletion.sql"
|
||||||
|
#include "0002-kyc_attributes.sql"
|
||||||
|
#include "0002-aml_status.sql"
|
||||||
|
#include "0002-aml_staff.sql"
|
||||||
|
#include "0002-aml_history.sql"
|
||||||
|
#include "0002-age_withdraw.sql"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
@ -19,13 +19,6 @@ BEGIN;
|
|||||||
SELECT _v.register_patch('exchange-0003', NULL, NULL);
|
SELECT _v.register_patch('exchange-0003', NULL, NULL);
|
||||||
SET search_path TO exchange;
|
SET search_path TO exchange;
|
||||||
|
|
||||||
#include "0003-purse_actions.sql"
|
|
||||||
#include "0003-purse_deletion.sql"
|
|
||||||
#include "0003-kyc_attributes.sql"
|
|
||||||
#include "0003-aml_status.sql"
|
|
||||||
#include "0003-aml_staff.sql"
|
|
||||||
#include "0003-aml_history.sql"
|
|
||||||
#include "0003-age_withdraw.sql"
|
|
||||||
|
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
--
|
|
||||||
-- This file is part of TALER
|
|
||||||
-- Copyright (C) 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
|
|
||||||
-- 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 <http://www.gnu.org/licenses/>
|
|
||||||
--
|
|
||||||
|
|
||||||
BEGIN;
|
|
||||||
|
|
||||||
SELECT _v.register_patch('exchange-0004', NULL, NULL);
|
|
||||||
SET search_path TO exchange;
|
|
||||||
|
|
||||||
#include "0004-kyc_attributes.sql"
|
|
||||||
#include "0004-wire_accounts.sql"
|
|
||||||
|
|
||||||
COMMIT;
|
|
Loading…
Reference in New Issue
Block a user