Re: Packages, inner subprograms, and parameterizable anonymous blocks for PL/pgSQL

From: Bryn Llewellyn <bryn(at)yugabyte(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: pgsql-general list <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Packages, inner subprograms, and parameterizable anonymous blocks for PL/pgSQL
Date: 2021-12-21 18:28:49
Message-ID: B86763E4-C57D-49B7-9496-9084676E7762@yugabyte.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> pavel(dot)stehule(at)gmail(dot)com wrote:
>
>> bryn(at)yugabyte(dot)com wrote:
>>
>> I’m still hoping that I might get some pointers to whitepapers or blog posts that expand on those bullets that I quoted from the PG doc: «Instead of packages, use schemas to organize your functions into groups.» and «Since there are no packages, there are no package-level variables either. This is somewhat annoying. You can keep per-session state in temporary tables instead.»
>
> I fixed a patch https://commitfest.postgresql.org/36/1608/ so you can check it.
>
> Using temporary tables instead of session variables is not too practical. There are more alternative ways - a) one extension, b) using global variables from Perl, c) using global configuration variables. The @c is most common today
>
> http://okbob.blogspot.com/2021/06/current_setting

Do you have a plain English account of what your patch will bring for the application programmer?

Your current_setting blog post shows me that you use this:

pts := current_setting('tps.ts', true)::timestamp with time zone;

Is that your point? I so, then thanks. Yes, I’ve used this technique myself.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2021-12-21 18:50:07 Re: Packages, inner subprograms, and parameterizable anonymous blocks for PL/pgSQL
Previous Message Tom Lane 2021-12-21 14:42:46 Re: How to confirm the pg_hba.conf service is correctly working