-add a few missing indices/foreign key constraints
This commit is contained in:
parent
ce43a23ddd
commit
af06ddc8e8
@ -26,7 +26,7 @@ DECLARE
|
|||||||
BEGIN
|
BEGIN
|
||||||
PERFORM create_partitioned_table(
|
PERFORM create_partitioned_table(
|
||||||
'CREATE TABLE %I '
|
'CREATE TABLE %I '
|
||||||
'(history_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' --UNIQUE
|
'(history_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
|
||||||
',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)'
|
',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)'
|
||||||
',request_timestamp INT8 NOT NULL'
|
',request_timestamp INT8 NOT NULL'
|
||||||
',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
|
',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
|
||||||
@ -64,6 +64,26 @@ BEGIN
|
|||||||
END $$;
|
END $$;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE FUNCTION constrain_table_history_requests(
|
||||||
|
IN partition_suffix VARCHAR
|
||||||
|
)
|
||||||
|
RETURNS void
|
||||||
|
LANGUAGE plpgsql
|
||||||
|
AS $$
|
||||||
|
DECLARE
|
||||||
|
partition_name VARCHAR;
|
||||||
|
BEGIN
|
||||||
|
partition_name = concat_ws('_', 'history_requests', partition_suffix);
|
||||||
|
|
||||||
|
EXECUTE FORMAT (
|
||||||
|
'ALTER TABLE ' || partition_name ||
|
||||||
|
' ADD CONSTRAINT ' || partition_name || '_serial_id'
|
||||||
|
' UNIQUE (history_request_serial_id)'
|
||||||
|
);
|
||||||
|
END
|
||||||
|
$$;
|
||||||
|
|
||||||
|
|
||||||
CREATE FUNCTION foreign_table_history_requests()
|
CREATE FUNCTION foreign_table_history_requests()
|
||||||
RETURNS VOID
|
RETURNS VOID
|
||||||
LANGUAGE plpgsql
|
LANGUAGE plpgsql
|
||||||
@ -94,6 +114,11 @@ INSERT INTO exchange_tables
|
|||||||
,FALSE),
|
,FALSE),
|
||||||
('history_requests'
|
('history_requests'
|
||||||
,'exchange-0002'
|
,'exchange-0002'
|
||||||
|
,'constrain'
|
||||||
|
,TRUE
|
||||||
|
,FALSE),
|
||||||
|
('history_requests'
|
||||||
|
,'exchange-0002'
|
||||||
,'foreign'
|
,'foreign'
|
||||||
,TRUE
|
,TRUE
|
||||||
,FALSE);
|
,FALSE);
|
||||||
|
@ -23,7 +23,7 @@ AS $$
|
|||||||
BEGIN
|
BEGIN
|
||||||
PERFORM create_partitioned_table(
|
PERFORM create_partitioned_table(
|
||||||
'CREATE TABLE %I'
|
'CREATE TABLE %I'
|
||||||
'(legitimization_process_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
|
'(legitimization_process_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
|
||||||
',h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=32)'
|
',h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=32)'
|
||||||
',expiration_time INT8 NOT NULL DEFAULT (0)'
|
',expiration_time INT8 NOT NULL DEFAULT (0)'
|
||||||
',provider_section VARCHAR NOT NULL'
|
',provider_section VARCHAR NOT NULL'
|
||||||
|
@ -23,7 +23,7 @@ AS $$
|
|||||||
BEGIN
|
BEGIN
|
||||||
PERFORM create_partitioned_table(
|
PERFORM create_partitioned_table(
|
||||||
'CREATE TABLE %I'
|
'CREATE TABLE %I'
|
||||||
'(legitimization_requirement_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
|
'(legitimization_requirement_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
|
||||||
',h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=32)'
|
',h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=32)'
|
||||||
',required_checks VARCHAR NOT NULL'
|
',required_checks VARCHAR NOT NULL'
|
||||||
',UNIQUE (h_payto, required_checks)'
|
',UNIQUE (h_payto, required_checks)'
|
||||||
|
@ -25,7 +25,7 @@ DECLARE
|
|||||||
BEGIN
|
BEGIN
|
||||||
PERFORM create_partitioned_table(
|
PERFORM create_partitioned_table(
|
||||||
'CREATE TABLE %I'
|
'CREATE TABLE %I'
|
||||||
'(melt_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
|
'(melt_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
|
||||||
',rc BYTEA PRIMARY KEY CHECK (LENGTH(rc)=64)'
|
',rc BYTEA PRIMARY KEY CHECK (LENGTH(rc)=64)'
|
||||||
',old_coin_pub BYTEA NOT NULL'
|
',old_coin_pub BYTEA NOT NULL'
|
||||||
',old_coin_sig BYTEA NOT NULL CHECK(LENGTH(old_coin_sig)=64)'
|
',old_coin_sig BYTEA NOT NULL CHECK(LENGTH(old_coin_sig)=64)'
|
||||||
|
@ -25,8 +25,8 @@ DECLARE
|
|||||||
BEGIN
|
BEGIN
|
||||||
PERFORM create_partitioned_table(
|
PERFORM create_partitioned_table(
|
||||||
'CREATE TABLE %I'
|
'CREATE TABLE %I'
|
||||||
'(reserve_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
|
'(reserve_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
|
||||||
',reserve_pub BYTEA PRIMARY KEY' -- REFERENCES reserves (reserve_pub) ON DELETE CASCADE'
|
',reserve_pub BYTEA PRIMARY KEY'
|
||||||
',wire_reference INT8 NOT NULL'
|
',wire_reference INT8 NOT NULL'
|
||||||
',credit_val INT8 NOT NULL'
|
',credit_val INT8 NOT NULL'
|
||||||
',credit_frac INT4 NOT NULL'
|
',credit_frac INT4 NOT NULL'
|
||||||
@ -103,6 +103,21 @@ BEGIN
|
|||||||
END
|
END
|
||||||
$$;
|
$$;
|
||||||
|
|
||||||
|
CREATE FUNCTION foreign_table_reserves_in()
|
||||||
|
RETURNS VOID
|
||||||
|
LANGUAGE plpgsql
|
||||||
|
AS $$
|
||||||
|
DECLARE
|
||||||
|
table_name VARCHAR DEFAULT 'reserves_in';
|
||||||
|
BEGIN
|
||||||
|
EXECUTE FORMAT (
|
||||||
|
'ALTER TABLE ' || table_name ||
|
||||||
|
' ADD CONSTRAINT ' || table_name || '_foreign_reserve_pub'
|
||||||
|
' FOREIGN KEY (reserve_pub) '
|
||||||
|
' REFERENCES reserves(reserve_pub) ON DELETE CASCADE'
|
||||||
|
);
|
||||||
|
END $$;
|
||||||
|
|
||||||
|
|
||||||
INSERT INTO exchange_tables
|
INSERT INTO exchange_tables
|
||||||
(name
|
(name
|
||||||
@ -120,4 +135,9 @@ INSERT INTO exchange_tables
|
|||||||
,'exchange-0002'
|
,'exchange-0002'
|
||||||
,'constrain'
|
,'constrain'
|
||||||
,TRUE
|
,TRUE
|
||||||
|
,FALSE),
|
||||||
|
('reserves_in'
|
||||||
|
,'exchange-0002'
|
||||||
|
,'foreign'
|
||||||
|
,TRUE
|
||||||
,FALSE);
|
,FALSE);
|
||||||
|
@ -25,7 +25,7 @@ DECLARE
|
|||||||
BEGIN
|
BEGIN
|
||||||
PERFORM create_partitioned_table(
|
PERFORM create_partitioned_table(
|
||||||
'CREATE TABLE %I'
|
'CREATE TABLE %I'
|
||||||
'(withdraw_age_commitment_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
|
'(withdraw_age_commitment_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
|
||||||
',h_commitment BYTEA PRIMARY KEY CHECK (LENGTH(h_commitment)=64)'
|
',h_commitment BYTEA PRIMARY KEY CHECK (LENGTH(h_commitment)=64)'
|
||||||
',amount_with_fee_val INT8 NOT NULL'
|
',amount_with_fee_val INT8 NOT NULL'
|
||||||
',amount_with_fee_frac INT4 NOT NULL'
|
',amount_with_fee_frac INT4 NOT NULL'
|
||||||
|
Loading…
Reference in New Issue
Block a user