pgsql: Forbid FOR PORTION OF with WHERE CURRENT OF

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Forbid FOR PORTION OF with WHERE CURRENT OF
Date: 2026-06-29 13:26:52
Message-ID: E1weC0i-000ecO-0g@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Forbid FOR PORTION OF with WHERE CURRENT OF

It is not clear how the implicit condition of FOR PORTION OF should
interact with the use of a cursor. Normally, we forbid combining
WHERE CURRENT OF with other WHERE conditions. The SQL standard only
includes FOR PORTION OF with <update statement: searched> and <delete
statement: searched>, not <update statement: positioned> or <delete
statement: positioned>, so it is easy for us to exclude the
functionality, at least for now.

Author: Paul A. Jungwirth <pj(at)illuminatedcomputing(dot)com>
Discussion: https://www.postgresql.org/message-id/flat/CA%2BrenyUEKPexUYsH4qeU8_o1jqKsUkEWca1keS6n21shgG1g%2BA%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/bc3ae886a759f2d3fd5f1b92f5fbeeccfee9e7a9

Modified Files
--------------
doc/src/sgml/ref/delete.sgml | 7 ++---
doc/src/sgml/ref/update.sgml | 7 ++---
src/backend/parser/analyze.c | 10 +++++++
src/test/regress/expected/for_portion_of.out | 42 ++++++++++++++++++++++++++++
src/test/regress/sql/for_portion_of.sql | 28 +++++++++++++++++++
5 files changed, 86 insertions(+), 8 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2026-06-29 14:20:40 pgsql: Fix typo
Previous Message Peter Eisentraut 2026-06-29 11:09:34 pgsql: Fix handling of copy_file_range() return value