Re: Fix GRAPH TABLE label and property error reporting

From: Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>
To: Sami Imseih <samimseih(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Fix GRAPH TABLE label and property error reporting
Date: 2026-08-19 13:24:47
Message-ID: CAExHW5vCk7c9_sNggt-4eR6x84piBT3m9r-pK4oK2jpne5Gehg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Aug 18, 2026 at 9:16 PM Sami Imseih <samimseih(at)gmail(dot)com> 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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2026-08-19 13:27:04 Re: aio: Don't silently drop wait_event_info
Previous Message Andres Freund 2026-08-19 13:19:47 Re: Thread-safe stringToNode() / pg_strtok()