On Tue, Aug 18, 2026 at 9:16 PM Sami Imseih <[email protected]> wrote:
>
> Hi,
>
> While looking at GRAPH_TABLE parsing, I found that in
> transformGraphTablePropertyRef(), a property reference whose name does
> not exist in the property graph is reported with ERRCODE_SYNTAX_ERROR:
>
> ```
>     pgptup = SearchSysCache2(PROPGRAPHPROPNAME, ...);
>     if (!HeapTupleIsValid(pgptup))
>         ereport(ERROR,
>                 errcode(ERRCODE_SYNTAX_ERROR),
>                 errmsg("property \"%s\" does not exist", propname));
> ```
>
> Unlike the A_Star cases just above, which are genuine syntax errors, here
> the statement parses fine but the property does not resolve. It should use
> ERRCODE_UNDEFINED_OBJECT. The unknown label check in
> transformLabelExpr() already does this, so these should be consistent.

I don't have access to SQL/PGQ standard right now, but I think this
error has been specified as a syntax error in the standard. Will
confirm once I have access to it.

>
> ERRCODE_UNDEFINED_COLUMN could also fit, but a property is an object of
> the graph, not a column of a relation, so I went with UNDEFINED_OBJECT to
> match the label check. Maybe others have a different opinion on the exact
> code, but this clearly should not be a syntax error.
>
> While at it, neither the property nor the label lookup supplied an error
> position. The attached patch adds one to both.

I think that's desirable. Will review the code soon.

-- 
Best Wishes,
Ashutosh Bapat


Reply via email to