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.
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.
--
Sami Imseih
Amazon Web Services (AWS)
v1-0001-Fix-GRAPH_TABLE-label-and-property-error-reportin.patch
Description: Binary data
