From 95149f345fc1daefd2ea703538e31b1be29fb902 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 24 Nov 2022 16:20:08 +0100 Subject: -draft for better sql --- src/exchangedb/common-0002.sql | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src') diff --git a/src/exchangedb/common-0002.sql b/src/exchangedb/common-0002.sql index a9c9cd1fc..0f7b1f52b 100644 --- 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 +$$; -- cgit v1.2.3