On 10/07/2019 02:31, David G. Johnston wrote:
> On Tue, Jul 9, 2019 at 5:23 PM Tom Mercha <mercha_t@hotmail.com> wrote:
>
>>
>> I understand that you never wrote any PL handler but was just thinking
>> about this functionality as a follow-up to our conversation. I was just
>> wondering whether anonymous DO blocks *must* return void or not?
>>
>> The docs for DO say it is a function returning void -
>> https://www.postgresql.org/docs/current/sql-do.html
>
>
>
>>
>
> But the docs for CREATE LANGUAGE's INLINE HANDLER say 'typically return
>> void' - https://www.postgresql.org/docs/current/sql-createlanguage.html
>
>
> No, the language cannot override the SQL execution environment's
> limitations.
>
> "The code block is treated as though it were the body of a function with no
> parameters, returning void. It is parsed and executed a single time."
>
> The above applies regardless of the language the code block is written in.
>
> It can, however, affect permanent session state (so, use tables).
>
Thank you very much for addressing the question.
I am still a bit of a novice with PostgreSQL internals. Could you please
provide some more detail on your comment regarding affecting permanent
session state?
> David J.
>