Re: Fix DROP PROPERTY GRAPH "unsupported object class" error

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Peter Eisentraut <peter@eisentraut.org>, Alex Guo <guo.alex.hengchen@gmail.com>, Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2026-06-08T00:28:40Z
Lists: pgsql-hackers
Michael Paquier <michael@paquier.xyz> writes:
> + property graph element label  |        |      | e of e of
> create_property_graph_tests.gt
> + property graph element label  |        |      | v1 of v1 of
> create_property_graph_tests.gt
> + property graph element label  |        |      | v2 of v2 of
> create_property_graph_tests.gt
> [...]
> + property graph label property |        |      | c of e of e of
> create_property_graph_tests.gt
> + property graph label property |        |      | k1 of e of e of
> create_property_graph_tests.gt
> + property graph label property |        |      | k2 of e of e of
> create_property_graph_tests.gt

> FWIW, I still find these descriptions written as of "$object of
> $object of..", or worse the "$object1 of $object2 of $object2 of..",
> really hard to parse, and make some sense out of them.  Am I the only
> one?

No.  At the very least, these messages violate our style guidelines [1]:

    Type of the Object 

    When citing the name of an object, state what kind of object it is.

    Rationale: Otherwise no one will know what “foo.bar.baz” refers to.

I'm not sure whether adding that would be sufficient to make these
intelligible, but surely it would help.  I think your first example
would come out like

    label e of property(?) e of property graph create_property_graph_tests.gt

			regards, tom lane

[1] https://www.postgresql.org/docs/current/error-style-guide.html#ERROR-STYLE-GUIDE-OBJECT-TYPE



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Readable identity strings for property graph objects

  2. Handle element label and label property objects in object address functions

  3. Simplify code in objectaddress.c for some property graph objects