Re: [BUG]: WHERE CURRENT OF cursor fail on tables that have virtual generated columns

Dean Rasheed <dean.a.rasheed@gmail.com>

From: Dean Rasheed <dean.a.rasheed@gmail.com>
To: SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-22T11:07:20Z
Lists: pgsql-hackers
On Mon, 20 Apr 2026 at 09:03, SATYANARAYANA NARLAPURAM
<satyanarlapuram@gmail.com> wrote:
>
>> > Updated the patch to include a test case to reject view update with WHERE CURRENT OF.
>>
>> That's already tested in portals.sql, which seems like a better place
>> for that test, since it's not related to virtual generated columns. I
>> don't think another test is necessary -- admittedly portals.sql only
>> tests DELETE, but the UPDATE code is the same, so I think the existing
>> test is sufficient. We don't obsessively try to achieve 100% coverage
>> in our tests.
>

I changed my mind on that and decided to add another test to
portals.sql, just in case, since it is a separate code branch.

I also spent some time looking to see whether there were any other
ways that replace_rte_variables() could have been called (e.g.,
subquery pullup) that would fall foul of this, but I couldn't find
any, so I think this bug only affects virtual generated columns.

Pushed and back-patched to v18. Thanks for the report!

Regards,
Dean



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix UPDATE/DELETE ... WHERE CURRENT OF on a table with virtual columns.