From 215ce35851e39a76b59cd007f0a14e2184d67742 Mon Sep 17 00:00:00 2001 From: David Steele Date: Mon, 19 May 2025 12:21:32 -0400 Subject: [PATCH 1/6] Add 18beta1. --- .github/workflows/regression-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/regression-tests.yml b/.github/workflows/regression-tests.yml index 3575c6f..b839ebc 100644 --- a/.github/workflows/regression-tests.yml +++ b/.github/workflows/regression-tests.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - pgver: [12, 13, 14, 15, 16, 17beta2] + pgver: [12, 13, 14, 15, 16, 17, 18beta1] steps: - name: Checkout set_user repo From 542f89c1371515211de7c163d9efd3dcafc00295 Mon Sep 17 00:00:00 2001 From: David Steele Date: Tue, 20 May 2025 11:04:21 -0400 Subject: [PATCH 2/6] Add PG_MODULE_MAGIC_EXT() and bump version. --- CHANGELOG.md | 7 +++++++ set_user.control | 2 +- src/compatibility.h | 10 ++++++++++ src/set_user.c | 2 +- updates/set_user--4.1.0--4.2.0.sql | 2 ++ 5 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 updates/set_user--4.1.0--4.2.0.sql diff --git a/CHANGELOG.md b/CHANGELOG.md index db5600a..2ba8c9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +4.2.0 +===== + +NEW FEATURES +------------ +- Add PG_MODULE_MAGIC_EXT() macro for PostgreSQL >= 18. + 4.1.0 ===== diff --git a/set_user.control b/set_user.control index 446d26c..57da330 100644 --- a/set_user.control +++ b/set_user.control @@ -1,5 +1,5 @@ # set_user extension comment = 'similar to SET ROLE but with added logging' -default_version = '4.1.0' +default_version = '4.2.0' module_pathname = '$libdir/set_user' relocatable = false diff --git a/src/compatibility.h b/src/compatibility.h index fa50f8c..82e3838 100644 --- a/src/compatibility.h +++ b/src/compatibility.h @@ -16,6 +16,16 @@ #define NO_ASSERT_AUTH_UID_ONCE !USE_ASSERT_CHECKING #endif +/* + * Define PG_MODULE_MAGIC_EXT() as PG_MODULE_MAGIC() for versions where the new + * macro does not exist + */ + #if PG_VERSION_NUM < 180000 + + #define PG_MODULE_MAGIC_EXT(...) PG_MODULE_MAGIC() + + #endif /* PG_VERSION_NUM < 180000 */ + /* * PostgreSQL version 17+ * diff --git a/src/set_user.c b/src/set_user.c index 466b6af..4c04660 100644 --- a/src/set_user.c +++ b/src/set_user.c @@ -52,7 +52,7 @@ #include "set_user.h" -PG_MODULE_MAGIC; +PG_MODULE_MAGIC_EXT("set_user", "4.2.0"); #include "compatibility.h" diff --git a/updates/set_user--4.1.0--4.2.0.sql b/updates/set_user--4.1.0--4.2.0.sql new file mode 100644 index 0000000..3635207 --- /dev/null +++ b/updates/set_user--4.1.0--4.2.0.sql @@ -0,0 +1,2 @@ +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION set_user UPDATE" to load this file. \quit From 8a90ba458f575a6bb22285e4d385580c34bcd4a7 Mon Sep 17 00:00:00 2001 From: David Steele Date: Tue, 20 May 2025 14:45:30 -0400 Subject: [PATCH 3/6] Fix macro. --- src/set_user.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/set_user.c b/src/set_user.c index 4c04660..a0dbd1e 100644 --- a/src/set_user.c +++ b/src/set_user.c @@ -52,7 +52,7 @@ #include "set_user.h" -PG_MODULE_MAGIC_EXT("set_user", "4.2.0"); +PG_MODULE_MAGIC_EXT(.name = "set_user", .version = "4.2.0"); #include "compatibility.h" From 56c26644ac1172259309f6c9087b793701563c0f Mon Sep 17 00:00:00 2001 From: David Steele Date: Tue, 20 May 2025 15:19:47 -0400 Subject: [PATCH 4/6] Fix macro. --- src/compatibility.h | 2 +- src/set_user.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/compatibility.h b/src/compatibility.h index 82e3838..56fe154 100644 --- a/src/compatibility.h +++ b/src/compatibility.h @@ -22,7 +22,7 @@ */ #if PG_VERSION_NUM < 180000 - #define PG_MODULE_MAGIC_EXT(...) PG_MODULE_MAGIC() + #define PG_MODULE_MAGIC_EXT(...) PG_MODULE_MAGIC #endif /* PG_VERSION_NUM < 180000 */ diff --git a/src/set_user.c b/src/set_user.c index a0dbd1e..9e56672 100644 --- a/src/set_user.c +++ b/src/set_user.c @@ -51,11 +51,10 @@ #include "utils/rel.h" #include "set_user.h" +#include "compatibility.h" PG_MODULE_MAGIC_EXT(.name = "set_user", .version = "4.2.0"); -#include "compatibility.h" - #define ALLOWLIST_WILDCARD "*" #define SUPERUSER_AUDIT_TAG "AUDIT" From 99ca186b877aa153940b167a01531172e339ab48 Mon Sep 17 00:00:00 2001 From: David Steele Date: Wed, 21 May 2025 11:38:04 -0400 Subject: [PATCH 5/6] Fix macro name. --- src/compatibility.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compatibility.h b/src/compatibility.h index 56fe154..8729d12 100644 --- a/src/compatibility.h +++ b/src/compatibility.h @@ -17,7 +17,7 @@ #endif /* - * Define PG_MODULE_MAGIC_EXT() as PG_MODULE_MAGIC() for versions where the new + * Define PG_MODULE_MAGIC_EXT() as PG_MODULE_MAGIC for versions where the new * macro does not exist */ #if PG_VERSION_NUM < 180000 From bc15b17d6d44d292362ab8cdc19f31fb3fe2516f Mon Sep 17 00:00:00 2001 From: David Steele Date: Thu, 22 May 2025 11:26:52 -0400 Subject: [PATCH 6/6] Add change log. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ba8c9b..f21625a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ NEW FEATURES ------------ - Add PG_MODULE_MAGIC_EXT() macro for PostgreSQL >= 18. +- Remove support for PostgreSQL 12. 4.1.0 =====