Re: SQL:2011 Application Time Update & Delete
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Paul A Jungwirth <pj@illuminatedcomputing.com>
Cc: Peter Eisentraut <peter@eisentraut.org>, Chao Li <li.evan.chao@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-20T14:33:54Z
Lists: pgsql-hackers
Paul A Jungwirth <pj@illuminatedcomputing.com> writes: > On Sun, Apr 19, 2026 at 11:10 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> I notice that execSRF.c also runs pgstat_init_function_usage and >> pgstat_end_function_usage around each call. That's not too important >> right now, but I wonder whether we should add it while we're looking >> at this. It would perhaps be important once we support user-defined >> withoutPortionProcs. > I agree we should do that. Here is a patch with that added to your changes. Pushed, thanks. > I was curious why execSRF.c uses `rsinfo.isDone != ExprMultipleResult` > for the finalize parameter, because I don't think a SRF should ever > return ExprSingleResult, right? So I guess it is just to be cautious. > Makes sense. I followed that approach. It's been awhile, but I think these specs were set with the intention that if a plain function were somehow called as a SRF, it would act as though it were a SRF returning one row. We haven't quite reached that with this patch --- I think it'd be an infinite loop as ExecForPortionOfLeftovers() stands. I'm content with the way things are though, given that it should always be the case that special privileges are needed to mark a function as being a withoutPortionProcs function. But speaking of infinite loops, should this one contain a CHECK_FOR_INTERRUPTS call? It's hard to conceive of a case where the value would be broken down finely enough for that to be a problem, but ... regards, tom lane
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Make ExecForPortionOfLeftovers() obey SRF protocol.
- 207cb2abcba0 19 (unreleased) landed
-
Add isolation tests for UPDATE/DELETE FOR PORTION OF
- b6ccd30d8ff6 19 (unreleased) landed
-
Add UPDATE/DELETE FOR PORTION OF
- 8e72d914c528 19 (unreleased) landed
-
Record range constructor functions in pg_range
- c257ba839718 19 (unreleased) landed
-
Add range_minus_multi and multirange_minus_multi functions
- 5eed8ce50ce9 19 (unreleased) landed
-
doc: Add section for temporal tables
- e4d8a2af07f5 19 (unreleased) landed
-
Add assertion check for WAL receiver state during stream-archive transition
- 65f4976189b6 19 (unreleased) cited