Re: Using Expanded Objects other than Arrays from plpgsql
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: Pavel Borisov <pashkin.elfe@gmail.com>,
Michel Pelletier <pelletier.michel@gmail.com>,
Pavel Stehule <pavel.stehule@gmail.com>,
pgsql-hackers@lists.postgresql.org
Date: 2025-02-03T18:18:10Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow extension functions to participate in in-place updates.
- c366d2bdba7c 18.0 landed
-
Implement new optimization rule for updates of expanded variables.
- 6c7251db0ce1 18.0 landed
-
Detect whether plpgsql assignment targets are "local" variables.
- 36fb9ef269a0 18.0 landed
-
Preliminary refactoring of plpgsql expression construction.
- a654af21ae52 18.0 landed
-
Refactor pl_funcs.c to provide a usage-independent tree walker.
- 6a7283dd2f1c 18.0 landed
-
Generalize plpgsql's heuristic for importing expanded objects.
- 534d0ea6c2b9 18.0 landed
Andrey Borodin <x4mmm@yandex-team.ru> writes: >> On 3 Feb 2025, at 22:36, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> I'm not wedded to that name; do you have a better idea? > I'd propose something like attached. But feel free to ignore my suggestion: I do not understand context of these structure members. Hmm, you're suggesting naming those field members after PL/pgSQL's specific use of them. But the intent was that they are generic workspace for anything that provides a EEOP_PARAM_CALLBACK callback --- that is, the "param" in the field name refers to the fact that this is an expression step for some kind of Param, and not to what PL/pgSQL happens to do with the field. Admittedly this is all moot unless some other extension starts using EEOP_PARAM_CALLBACK, and I didn't find any evidence of that using Debian Code Search. But I don't want to think of EEOP_PARAM_CALLBACK as being specifically tied to PL/pgSQL. regards, tom lane