libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit d148d5da3fdf88b7f1fbca02a71422d9942b58d0
parent e7774899c1750ecc59c2f1126d49b1bdbed1cc47
Author: MS <ms@taler.net>
Date:   Sun,  3 Dec 2023 16:43:48 +0100

fixing schema permissions: needs USAGE privilege

Diffstat:
Mcontrib/libeufin-nexus-dbconfig | 5+++++
Mutil/src/main/kotlin/DB.kt | 2+-
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/contrib/libeufin-nexus-dbconfig b/contrib/libeufin-nexus-dbconfig @@ -104,6 +104,11 @@ then echo "Failed to grant access to database '$DBNAME' to '$DBUSER'." 1>&2 exit 1 fi + if ! echo "GRANT USAGE ON SCHEMA _v TO \"$DBUSER\"" \ + | sudo -i -u postgres psql "$DBNAME" + then + echo "Failed to grant usage privilege on schema '_v' to '$DBUSER'. Maybe OK if it does not exist. Will continue." 1>&2 + fi if ! echo "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA _v TO \"$DBUSER\"" \ | sudo -i -u postgres psql "$DBNAME" then diff --git a/util/src/main/kotlin/DB.kt b/util/src/main/kotlin/DB.kt @@ -196,7 +196,7 @@ fun PreparedStatement.executeProcedureViolation(): Boolean { fun maybeApplyV(conn: PgConnection, cfg: DatabaseConfig) { conn.transaction { val checkVSchema = conn.prepareStatement( - "SELECT EXISTS (SELECT FROM pg_tables WHERE schemaname = '_v' AND tablename = 'patches')" + "SELECT schema_name FROM information_schema.schemata WHERE schema_name = '_v'" ) if (!checkVSchema.executeQueryCheck()) { logger.debug("_v schema not found, applying versioning.sql")