summaryrefslogtreecommitdiff
path: root/src/exchangedb/0002-reserves_in.sql
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2023-01-11 16:43:22 +0100
committerChristian Grothoff <christian@grothoff.org>2023-01-11 16:43:22 +0100
commitaf06ddc8e833d6f4bbfd49585a750227b05c056d (patch)
tree2934a0e9b5263e1cb7be0f960a6beec0ccd43964 /src/exchangedb/0002-reserves_in.sql
parentce43a23ddd61fa1f1a91f8ba597bc88019d3b66c (diff)
downloadexchange-af06ddc8e833d6f4bbfd49585a750227b05c056d.tar.gz
exchange-af06ddc8e833d6f4bbfd49585a750227b05c056d.tar.bz2
exchange-af06ddc8e833d6f4bbfd49585a750227b05c056d.zip
-add a few missing indices/foreign key constraints
Diffstat (limited to 'src/exchangedb/0002-reserves_in.sql')
-rw-r--r--src/exchangedb/0002-reserves_in.sql24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/exchangedb/0002-reserves_in.sql b/src/exchangedb/0002-reserves_in.sql
index d722a49e8..71ec3768a 100644
--- a/src/exchangedb/0002-reserves_in.sql
+++ b/src/exchangedb/0002-reserves_in.sql
@@ -25,8 +25,8 @@ DECLARE
BEGIN
PERFORM create_partitioned_table(
'CREATE TABLE %I'
- '(reserve_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
- ',reserve_pub BYTEA PRIMARY KEY' -- REFERENCES reserves (reserve_pub) ON DELETE CASCADE'
+ '(reserve_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
+ ',reserve_pub BYTEA PRIMARY KEY'
',wire_reference INT8 NOT NULL'
',credit_val INT8 NOT NULL'
',credit_frac INT4 NOT NULL'
@@ -103,6 +103,21 @@ BEGIN
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
(name
@@ -120,4 +135,9 @@ INSERT INTO exchange_tables
,'exchange-0002'
,'constrain'
,TRUE
+ ,FALSE),
+ ('reserves_in'
+ ,'exchange-0002'
+ ,'foreign'
+ ,TRUE
,FALSE);