Re: BUG #16519: SET SESSION ROLE in plpgsql requires string literal. - Mailing list pgsql-bugs

From Marianne B. Wiese
Subject Re: BUG #16519: SET SESSION ROLE in plpgsql requires string literal.
Date
Msg-id CAGqADefmOY_5eq-9sQtyrdQO3ONeryxGEp-Duqy6xNTGKDQ2WA@mail.gmail.com
Whole thread Raw
In response to Re: BUG #16519: SET SESSION ROLE in plpgsql requires string literal.  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-bugs
Thanks.
I had forgotten the Execute / Format way and I thought a parameter is an identifier.

Generally the docs are concise and easy to understand.

Maybe the doc for SET ROLE doc could say something like 'See <link example> for execution inside a function'

Marianne BW

On Tue, Jun 30, 2020 at 7:50 PM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Tuesday, June 30, 2020, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> The SET command cannot be parameterized so using variables in the statement
> is not supported and the attempt to do so is treated as writing an
> identifier.  You will need to use the format function and the execute
> plpgsql command to create and execute the statement.

While this is documented (last para of "42.11.1. Variable Substitution"),
it's not exactly prominent.  Should we move that to somewhere more
visible?  If so where?

I think the docs are acceptable as-is - especially given the numerous cross-references to that section.  If anything i’d maybe call out that most non-result returning commands are actually not parameterized in “42.2.5 Executing a Command with No Result” just before the link to 42.11.1

David J.



--
Marianne B. Wiese
Reventlowsgade 30
1651 København V

+45 51 92 69 18

pgsql-bugs by date:

Previous
From: Reiner Peterke
Date:
Subject: Re: BUG #16516: when testing jit get terminate called after throwing an instance of 'std::bad_function_call'
Next
From: PG Bug reporting form
Date:
Subject: BUG #16522: No anti-violent cracking mechanism