[Bug] Add the missing RTE_GRAPH_TABLE case to transformLockingClause()

From: SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>
Subject: [Bug] Add the missing RTE_GRAPH_TABLE case to transformLockingClause()
Date: 2026-05-07 07:37:13
Message-ID: CAHg+QDcE9wp6nOEC3SCRQ90nrCO=QF+OZq1MG8Qc6hnusmogqw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Hackers,

Add the missing RTE_GRAPH_TABLE case to transformLockingClause(). Without
this four
row-locking strengths applied to a GRAPH_TABLE alias triggers not give a
user friendly
error message.

Repro:

CREATE TABLE v(id int PRIMARY KEY, vname text);
CREATE PROPERTY GRAPH g VERTEX TABLES (v);
SELECT * FROM GRAPH_TABLE(g MATCH (a) COLUMNS (a.vname)) gt
FOR UPDATE OF gt;
-- ERROR: unrecognized RTE type: 8

Attached a patch that returns ERRCODE_FEATURE_NOT_SUPPORTED "FOR ... cannot
be
applied to a GRAPH_TABLE" with a position pointer, matching the convention
used by
the function/tablefunc etc. Patch includes tests for all four locking
strengths.
Since the code path looks simple we can just keep one of them as well and
trim other
tests. Thoughts?

Thanks,
Satya

Attachment Content-Type Size
0001-Add-the-missing-RTE_GRAPH_TABLE-case-to-transformLoc.patch application/octet-stream 3.7 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message SATYANARAYANA NARLAPURAM 2026-05-07 07:45:54 Re: Skip prefetch for block references that follow a FPW or WILL_INIT of the same block
Previous Message Chao Li 2026-05-07 07:05:34 Re: FOR PORTION OF does not recompute GENERATED STORED columns that depend on the range column