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?