v37-0002-Mark-role-as-GUC_REPORT.patch
application/octet-stream
Filename: v37-0002-Mark-role-as-GUC_REPORT.patch
Type: application/octet-stream
Part: 1
Message:
Re: Psql meta-command conninfo+
Patch
Format: format-patch
Series: patch v37-0002
Subject: Mark role as GUC_REPORT
| File | + | − |
|---|---|---|
| doc/src/sgml/libpq.sgml | 3 | 2 |
| doc/src/sgml/protocol.sgml | 3 | 2 |
| src/backend/utils/misc/guc_tables.c | 1 | 1 |
From d885f72983ee75062e3336de623bb22e06482a89 Mon Sep 17 00:00:00 2001
From: Hunaid2000 <hunaid2000@gmail.com>
Date: Thu, 16 Jan 2025 15:11:02 +0500
Subject: [PATCH v37 2/3] Mark role as GUC_REPORT
Mark the role GUC as GUC_REPORT to ensure changes are communicated
to the client. This is necessary for accurately reflecting the session's
is_superuser status, as either the role or session authorization can influence it.
This will support upcoming enhancements to the \conninfo+
meta-command, which will include more detailed session
information, such as role and authorization.
---
doc/src/sgml/libpq.sgml | 5 +++--
doc/src/sgml/protocol.sgml | 5 +++--
src/backend/utils/misc/guc_tables.c | 2 +-
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 370534e8a3..f8674603e3 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -2707,12 +2707,13 @@ const char *PQparameterStatus(const PGconn *conn, const char *paramName);
<member><varname>session_authorization</varname></member>
<member><varname>standard_conforming_strings</varname></member>
<member><varname>TimeZone</varname></member>
+ <member><varname>role</varname></member>
</simplelist>
(<varname>default_transaction_read_only</varname> and
<varname>in_hot_standby</varname> were not reported by releases before
14; <varname>scram_iterations</varname> was not reported by releases
- before 16; <varname>search_path</varname> was not reported by releases
- before 18.)
+ before 16; <varname>search_path</varname> and <varname>role</varname>
+ were not reported by releases before 18.)
Note that
<varname>server_version</varname>,
<varname>server_encoding</varname> and
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index fb5dec1172..18083ded99 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -1340,12 +1340,13 @@ SELCT 1/0;<!-- this typo is intentional -->
<member><varname>session_authorization</varname></member>
<member><varname>standard_conforming_strings</varname></member>
<member><varname>TimeZone</varname></member>
+ <member><varname>role</varname></member>
</simplelist>
(<varname>default_transaction_read_only</varname> and
<varname>in_hot_standby</varname> were not reported by releases before
14; <varname>scram_iterations</varname> was not reported by releases
- before 16; <varname>search_path</varname> was not reported by releases
- before 18.)
+ before 16; <varname>search_path</varname> and <varname>role</varname>
+ were not reported by releases before 18.)
Note that
<varname>server_version</varname>,
<varname>server_encoding</varname> and
diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c
index 38cb9e970d..c34c78d2f8 100644
--- a/src/backend/utils/misc/guc_tables.c
+++ b/src/backend/utils/misc/guc_tables.c
@@ -4396,7 +4396,7 @@ struct config_string ConfigureNamesString[] =
{"role", PGC_USERSET, UNGROUPED,
gettext_noop("Sets the current role."),
NULL,
- GUC_IS_NAME | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE | GUC_NOT_WHILE_SEC_REST
+ GUC_IS_NAME | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE | GUC_NOT_WHILE_SEC_REST | GUC_REPORT
},
&role_string,
"none",
--
2.34.1