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.
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 |