| From: | Julien Rouhaud <rjuju123(at)gmail(dot)com> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers(at)lists(dot)postgresql(dot)org | 
| Subject: | Re: Mark all GUC variable as PGDLLIMPORT | 
| Date: | 2021-08-23 06:53:34 | 
| Message-ID: | 20210823065334.6jpx4ux7l2maggvf@nol | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Sun, Aug 22, 2021 at 09:29:01PM +0800, Julien Rouhaud wrote:
> On Sun, Aug 22, 2021 at 09:19:42AM -0400, Tom Lane wrote:
> > 
> > Uh, no, it's exactly *not* clear.  There are a lot of GUCs that are only
> > of interest to particular subsystems.  I do not see why being a GUC makes
> > something automatically more interesting than any other global variable.
> > Usually, the fact that one is global is only so the GUC machinery itself
> > can get at it, otherwise it'd be static in the owning module.
> > 
> > As for "extensions should be able to get at the values", the GUC machinery
> > already provides uniform mechanisms for doing that safely.  Direct access
> > to the variable's internal value would be unsafe in many cases.
> 
> Then shouldn't we try to prevent direct access on all platforms rather than
> only one?
So since the non currently explicitly exported GUC global variables shouldn't
be accessible by third-party code, I'm attaching a POC patch that does the
opposite of v1: enforce that restriction using a new pg_attribute_hidden()
macro, defined with GCC only, to start discussing that topic.
It would probably be better to have some other macro (e.g. PG_GLOBAL_PUBLIC and
PG_GLOBAL_PRIVATE or similar) to make declarations more consistent, but given
the amount of changes it would represent I prefer to have some feedback before
spending time on that.
| Attachment | Content-Type | Size | 
|---|---|---|
| v2-0001-Make-all-GUC-ariables-non-previously-marked-as-PG.patch | text/x-diff | 49.7 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ronan Dunklau | 2021-08-23 06:58:50 | Re: Proposal: More structured logging | 
| Previous Message | Michael Paquier | 2021-08-23 06:46:37 | Re: pg_veryfybackup can fail with a valid backup for TLI > 1 |