Re: FOR PORTION OF should reject GENERATED columns

From: Paul A Jungwirth <pj(at)illuminatedcomputing(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: FOR PORTION OF should reject GENERATED columns
Date: 2026-05-15 21:04:21
Message-ID: CA+renyUbZ=YfnL=W3g_4zarDbtXV+6qJr8wgiER_PEvzCYxxVw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, May 13, 2026 at 8:39 AM Paul A Jungwirth
<pj(at)illuminatedcomputing(dot)com> wrote:
>
> On Tue, May 12, 2026 at 1:34 PM Nathan Bossart
> <nathandbossart(at)gmail(dot)com> wrote:
> >
> > FOR PORTION OF doesn't seem to work well with virtual generated columns,
> > either. The following example seg-faults on my machine:
> >
> > create table t (a int, b int4range generated always as (int4range(a, a + 1)) virtual);
> > insert into t values (1);
> > delete from t for portion of b from 1 to 2;
>
> I posted a fix for this yesterday, but I wanted to make a separate
> thread so the commitfest app could track it correctly. Here is the
> start of the conversation:
>
> https://www.postgresql.org/message-id/CA%2BrenyWqeWxSUoohRQ4htfSLCcDVsZ%3DXwVR7F8-e9GXeH_O13w%40mail.gmail.com

My first fix was doing this check in the analysis phase because I
thought it would be hard to separate from moving other validations
into the planner/executor[1], but doing it as a stand-alone patch was
easier than I thought. Here is v2.

[1] https://www.postgresql.org/message-id/626986.1776785090@sss.pgh.pa.us

--
Paul ~{:-)
pj(at)illuminatedcomputing(dot)com

Attachment Content-Type Size
v2-0001-Forbid-GENERATED-columns-in-FOR-PORTION-OF.patch text/x-patch 7.8 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Paul A Jungwirth 2026-05-15 21:16:57 Move FOR PORTION OF checks out of analysis
Previous Message Nathan Bossart 2026-05-15 20:29:39 Re: Vacuumlo improvements