public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tom Lane <[email protected]>
To: Paul A Jungwirth <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Cc: Chao Li <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: SQL:2011 Application Time Update & Delete
Date: Mon, 20 Apr 2026 10:33:54 -0400
Message-ID: <[email protected]> (raw)
In-Reply-To: <CA+renyVdyBcLzh2sFWUJ44A+N+7qL=f7rAyDOqFsTHTDb5q=SA@mail.gmail.com>
References: <[email protected]>
	<[email protected]>
	<CA+renyUazgR-hB_6RY60n23L0y-n_h9G1AappZmPENO0k5pL1g@mail.gmail.com>
	<[email protected]>
	<CA+renyVXg5pV84wQnGQuK8-=qoKw3BiBgQzesxM_LkcxxWmYjA@mail.gmail.com>
	<[email protected]>
	<CA+renyWKOj5=rMmQmJcbybu-Vdomxdp=eJ93kp76AgmQKYdfiQ@mail.gmail.com>
	<[email protected]>
	<CA+renyUhuXB2nTVCMREXew9E4DZOnFxQNjME5bcw91+k72Bosg@mail.gmail.com>
	<CA+renyWUCSyTMn3s03kviEN-oaVrJP-QkDQCLNfaY=MHV5QEiQ@mail.gmail.com>
	<CA+renyV4tWU2d=n9_v=XNPHbZfNqqLokzd-Xt78M-zLd+46ubA@mail.gmail.com>
	<[email protected]>
	<CA+renyUSgqXpjj+vV7w+wirPB49VQFrmPjVT_s04JmZSOPNNsQ@mail.gmail.com>
	<[email protected]>
	<CA+renyX-eV+2hFUaZg3BSREqLE7dh+LoWm7ZqhFAiGsirjjtRQ@mail.gmail.com>
	<e2fc32a4-319b-4176-8bd8-1d974e31376f! @eisentraut.org>
	<[email protected]>
	<CA+renyVdyBcLzh2sFWUJ44A+N+7qL=f7rAyDOqFsTHTDb5q=SA@mail.gmail.com>

Paul A Jungwirth <[email protected]> writes:
> On Sun, Apr 19, 2026 at 11:10 AM Tom Lane <[email protected]> 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





view thread (54+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: SQL:2011 Application Time Update & Delete
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox