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
