exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 95149f345fc1daefd2ea703538e31b1be29fb902
parent c2bb6551cf453115884d35e2c440fc44797addf2
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Thu, 24 Nov 2022 16:20:08 +0100

-draft for better sql

Diffstat:
Msrc/exchangedb/common-0002.sql | 31+++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+), 0 deletions(-)

diff --git a/src/exchangedb/common-0002.sql b/src/exchangedb/common-0002.sql @@ -172,3 +172,34 @@ COMMENT ON FUNCTION create_shard_server2 IS 'Create a shard server on the master node with all foreign tables and user mappings'; + + +-------------------------------- + +CREATE TABLE IF NOT EXISTS partitioned_tables + (name VARCHAR PRIMARY KEY NOT NULL); + +INSERT INTO partitioned_tables + (name) + VALUES + ('wire_targets') + ,('refunds') + ON CONFLICT DO NOTHING; + + +CREATE OR REPLACE FUNCTION drop_default_partitions() + RETURNS VOID + LANGUAGE plpgsql +AS $$ +DECLARE + tc CURSOR FOR SELECT name FROM partitioned_tables; +BEGIN + + RAISE NOTICE 'Dropping default table partitions'; + FOR rec IN tc + LOOP + EXECUTE FORMAT ( + 'DROP TABLE IF EXISTS %s_default ;'::text, + rec.name; +END +$$;