Re: DELETE FOR PORTION OF bypasses view WITH CHECK OPTION for leftover rows

From: Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>
To: Paul A Jungwirth <pj(at)illuminatedcomputing(dot)com>
Cc: Melanie Plageman <melanieplageman(at)gmail(dot)com>, Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Peter Eisentraut <peter(at)eisentraut(dot)org>
Subject: Re: DELETE FOR PORTION OF bypasses view WITH CHECK OPTION for leftover rows
Date: 2026-08-13 09:23:51
Message-ID: CAEZATCU0mdH+PJ+nHtUU7UGKUZH9BNh+gBuGALAOaJW0MyubsA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, 13 Aug 2026, 00:19 Paul A Jungwirth, <pj(at)illuminatedcomputing(dot)com>
wrote:

> On Wed, Aug 12, 2026 at 2:30 PM Melanie Plageman
> <melanieplageman(at)gmail(dot)com> wrote:
> >
> > On Wed, Jul 22, 2026 at 2:43 PM Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>
> wrote:
> > >
> > > While testing FOR PORTION OF I noticed that DELETE FOR PORTION OF on a
> > > view ignores the view's WITH CHECK OPTION for the temporal leftover
> > > rows it inserts.
> >
> > [RMT hat]
> >
> > It's been a few weeks since this was reported, and there hasn't been
> > engagement by the feature authors. Is this on your radar?
> > I added an open item [1].
>
> Thanks Melanie! I'm sorry I missed this before.
>
> I can reproduce the bug. The fix looks good to me.
>
> Here are some slight revisions: I added doc updates and a couple extra
> regress lines (verifying the same cases, but for UPDATE too). And I
> expanded the comment to explain why this is needed for DELETE but not
> UPDATE, since that wasn't obvious to me right away.
>

Seems reasonable to me, after a quick read through.

Regards,
Dean

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2026-08-13 10:47:17 BUG #19618: postgresql18 client package not found
Previous Message Andrey Rachitskiy 2026-08-13 09:00:58 Re: BUG #19612: SEGV in ParseConfigFp() in guc-file.l