gnunet-svn
[Top][All Lists]
Advanced

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

[taler-merchant] branch master updated: -fix issue with multiple dbinit


From: gnunet
Subject: [taler-merchant] branch master updated: -fix issue with multiple dbinit running concurrently
Date: Sun, 27 Aug 2023 14:06:24 +0200

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

grothoff pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new 858e3047 -fix issue with multiple dbinit running concurrently
858e3047 is described below

commit 858e3047b8b595ab693e16ce0bbe0b8983b072ed
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Sun Aug 27 14:06:20 2023 +0200

    -fix issue with multiple dbinit running concurrently
---
 src/backenddb/versioning.sql | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/backenddb/versioning.sql b/src/backenddb/versioning.sql
index 98e7f661..c7fa8121 100644
--- a/src/backenddb/versioning.sql
+++ b/src/backenddb/versioning.sql
@@ -146,12 +146,17 @@
 
 BEGIN;
 
+-- Added by Christian Grothoff to support concurrency, see
+-- 
https://stackoverflow.com/questions/29900845/create-schema-if-not-exists-raises-duplicate-key-error?rq=4
+LOCK TABLE pg_catalog.pg_namespace;
+
+
 -- This file adds versioning support to database it will be loaded to.
 -- It requires that PL/pgSQL is already loaded - will raise exception 
otherwise.
 -- All versioning "stuff" (tables, functions) is in "_v" schema.
 
 -- All functions are defined as 'RETURNS SETOF INT4' to be able to make them 
to RETURN literally nothing (0 rows).
--- >> RETURNS VOID<< IS similar, but it still outputs "empty line" in psql 
when calling.
+-- >> RETURNS VOID<< IS similar, but it still outputs "empty line" in psql 
when calling
 CREATE SCHEMA IF NOT EXISTS _v;
 COMMENT ON SCHEMA _v IS 'Schema for versioning data and functionality.';
 
@@ -205,7 +210,7 @@ BEGIN
     RETURN;
 END;
 $$ language plpgsql;
-COMMENT ON FUNCTION _v.register_patch( TEXT, TEXT[], TEXT[]) IS 'Function to 
register patches in database. Raises exception if there are conflicts, 
prerequisites are not installed or the migration has already been installed.';
+COMMENT ON FUNCTION _v.register_patch( TEXT, TEXT[], TEXT[] ) IS 'Function to 
register patches in database. Raises exception if there are conflicts, 
prerequisites are not installed or the migration has already been installed.';
 
 CREATE OR REPLACE FUNCTION _v.register_patch( TEXT, TEXT[] ) RETURNS setof 
INT4 AS $$
     SELECT _v.register_patch( $1, $2, NULL );

-- 
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]