Re: Using Expanded Objects other than Arrays from plpgsql
Michel Pelletier <pelletier.michel@gmail.com>
From: Michel Pelletier <pelletier.michel@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Pavel Stehule <pavel.stehule@gmail.com>,
pgsql-hackers@lists.postgresql.org
Date: 2024-11-19T20:52:46Z
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
On Tue, Nov 19, 2024 at 11:45 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Pavel Stehule <pavel.stehule@gmail.com> writes: > > út 19. 11. 2024 v 18:51 odesílatel Michel Pelletier < > > pelletier.michel@gmail.com> napsal: > >> A couple years ago I tried to compress what I learned about expanded > >> objects into a dummy extension that just provides the necessary > >> boilerplate. It wasn't great but a start: > >> https://github.com/michelp/pgexpanded > >> Pavel Stehule indicated this might be a good example to put into > contrib: > > > another position can be src/test/modules - I think so your example is > > "similar" to plsample > > Yeah. I think we've largely adopted the position that contrib should > contain installable modules that do something potentially useful to > end-users. A pure skeleton wouldn't be that, but if it's fleshed out > enough to be test code for some core features then src/test/modules > could be a reasonable home. > Great! I'll put a patch together that adds the skeleton object to src/test/modules and I'll write some expected tests that run the expansion through its paces, when the support function feature happens I'll update it to include tests for that. Should I include Tom's patch changes on top of mine or keep those separate? I'm not entirely clear on the best practice to carry those forward as well. -Michel