gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] 04/05: add permissions


From: gnunet
Subject: [taler-exchange] 04/05: add permissions
Date: Sat, 02 Apr 2022 09:29:40 +0200

This is an automated email from the git hooks/post-receive script.

marco-boss pushed a commit to branch master
in repository exchange.

commit 0ba219fe5b02d8b22be72e6320c5d7e31c894995
Author: Marco Boss <bossm8@bfh.ch>
AuthorDate: Sat Apr 2 09:27:30 2022 +0200

    add permissions
---
 src/exchangedb/common-0001.sql | 39 +++++++++++++++++++++++++++++++++++----
 1 file changed, 35 insertions(+), 4 deletions(-)

diff --git a/src/exchangedb/common-0001.sql b/src/exchangedb/common-0001.sql
index 873141b8..bf2a9925 100644
--- a/src/exchangedb/common-0001.sql
+++ b/src/exchangedb/common-0001.sql
@@ -1560,6 +1560,7 @@ CREATE OR REPLACE FUNCTION create_foreign_table(
     ,modulus INTEGER
     ,shard_suffix VARCHAR
     ,current_shard_num INTEGER
+    ,local_user VARCHAR DEFAULT 'taler-exchange-httpd'
   )
   RETURNS VOID
   LANGUAGE plpgsql
@@ -1581,14 +1582,15 @@ BEGIN
   );
 
   EXECUTE FORMAT(
-    'ALTER FOREIGN TABLE %I OWNER TO "taler-exchange-httpd"',
-    source_table_name || '_' || shard_suffix
+    'ALTER FOREIGN TABLE %I OWNER TO %L'
+    ,source_table_name || '_' || shard_suffix
+    ,local_user
   );
 
 END
 $$;
 
-CREATE OR REPLACE FUNCTION master_prepare_sharding()
+CREATE OR REPLACE FUNCTION prepare_sharding()
 RETURNS VOID
 LANGUAGE plpgsql
 AS $$
@@ -1717,131 +1719,160 @@ BEGIN
     ,remote_user_password
   );
 
+  EXECUTE FORMAT(
+    'GRANT ALL PRIVILEGES '
+      'ON FOREIGN SERVER %I '
+      'TO %L;'
+    ,shard_suffix
+    ,local_user
+  );
+
   PERFORM create_foreign_table(
     'wire_targets'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'reserves'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'reserves_in'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'reserves_out'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'reserves_close'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'known_coins'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'refresh_commitments'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'refresh_revealed_coins'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'refresh_transfer_keys'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'deposits'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
 --  PERFORM create_foreign_table(
 --    'deposits_by_ready'
 --    ,total_num_shards
 --    ,shard_suffix
 --    ,current_shard_num
+--    ,local_user
 --  );
 --  PERFORM create_foreign_table(
 --    'deposits_for_matching'
 --    ,total_num_shards
 --    ,shard_suffix
 --    ,current_shard_num
+--    ,local_user
 --  );
   PERFORM create_foreign_table(
     'refunds'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'wire_out'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'aggregation_tracking'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'recoup'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'recoup_by_reserve'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'reserves_out_by_reserve'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'recoup_refresh'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'prewire'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
   PERFORM create_foreign_table(
     'cs_nonce_locks'
     ,total_num_shards
     ,shard_suffix
     ,current_shard_num
+    ,local_user
   );
 
 END
@@ -1860,7 +1891,7 @@ CREATE OR REPLACE FUNCTION create_foreign_servers(
 AS $$
 BEGIN
 
-  PERFORM master_prepare_sharding();
+  PERFORM prepare_sharding();
 
   FOR i IN 1..amount LOOP
     PERFORM create_shard_server(

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]