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-20T07:56:23Z
Lists: pgsql-hackers
On Mon, 20 Apr 2026 at 01:33, SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com> wrote: > > On Sun, Apr 19, 2026 at 3:42 AM Dean Rasheed <dean.a.rasheed@gmail.com> wrote: >> >> Hmm, it seems to me that a much simpler fix is to check for use of >> WHERE CURRENT OF on a view at parse time, and throw the error there. > > This patch looks simple and neat, is there any reason why it was done differently earlier? > I'm not sure, but possibly because it used to be possible to turn a table into a view by defining a SELECT rule on it, which could have rendered a parse-time check insufficient. That's no longer the case though, and we now have similar parse-time relkind tests elsewhere (e.g., for MERGE). > 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. 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 →
-
Fix UPDATE/DELETE ... WHERE CURRENT OF on a table with virtual columns.
- f3d03fbd5d01 18.4 landed
- 5548a969b65d 19 (unreleased) landed