pgsql: Make ExecForPortionOfLeftovers() obey SRF protocol.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Make ExecForPortionOfLeftovers() obey SRF protocol.
Date: 2026-04-20 14:21:57
Message-ID: E1wEpVc-001s8Y-1G@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Make ExecForPortionOfLeftovers() obey SRF protocol.

Before each call to the SRF, initialize isnull and isDone, as per the
comments for struct ReturnSetInfo. This fixes a Coverity warning
about rsi.isDone not being initialized. The built-in
{multi,}range_minus_multi functions don't return without setting it,
but a user-supplied function might not be as accommodating.

We also add statistics tracking around the function call, which
will be expected once user-defined withoutPortionProcs functions
are supported, and a cross-check on rsi.returnMode just for
paranoia's sake.

Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Co-authored-by: Paul A Jungwirth <pj(at)illuminatedcomputing(dot)com>
Discussion: https://postgr.es/m/4126231.1776622202@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/207cb2abcba00f78d57cdaca896f41c9453b0f2f

Modified Files
--------------
src/backend/executor/nodeModifyTable.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2026-04-20 18:48:35 pgsql: Clean up all relid fields of RestrictInfos during join removal.
Previous Message Álvaro Herrera 2026-04-20 13:50:14 pgsql: REPACK: do not require REPLICATION or LOGIN