Re: Fix DROP PROPERTY GRAPH "unsupported object class" error
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org, Peter Eisentraut <peter@eisentraut.org>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Date: 2026-04-23T06:39:34Z
Lists: pgsql-hackers
On Wed, Apr 22, 2026 at 04:19:26PM +0000, Bertrand Drouvot wrote: > Indeed, getObjectTypeDescription() and getObjectIdentityParts() are missing switch > cases for PropgraphElementLabelRelationId and PropgraphLabelPropertyRelationId, > causing DROP PROPERTY GRAPH to hit the default case and error out with > "unsupported object class". Hmm. Couldn't these code paths be reached as well with the object functions like pg_describe_object(), pg_get_object_address(), pg_identify_object_as_address() or pg_identify_object()? Object descriptions usually stick within object_address.sql. The new objects you would want to stick should be covered as well in this test suite, and the file already has some property graphs in it. > The bug only manifests when an event trigger is active, because that is what > calls these functions. --- a/src/test/regress/expected/create_property_graph.out +++ b/src/test/regress/expected/create_property_graph.out [...] +CREATE EVENT TRIGGER dpg_evt ON ddl_command_end EXECUTE FUNCTION dpg_evt_func(); Event triggers are avoided in parallel groups because they are not reliable (see also fast_default), and we should avoid what you are doing in this test. > The attached adds the missing cases so that DROP PROPERTY GRAPH, DROP PROPERTY GRAPH > IF EXISTS, and DROP SCHEMA CASCADE on schemas containing property graphs all work > correctly when event triggers are present. > > It also adds test cases that create an event trigger and then exercise DROP PROPERTY > GRAPH and DROP SCHEMA CASCADE with property graphs. > > I think that's worth an open item and I'll add one for this issue. This should be an open item, I guess, yes. Could you add one? Even if Peter discards the issue at the end, the issue still needs to be discussed so we had better to track it anyway. -- Michael
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Readable identity strings for property graph objects
- 2a7e95b659df 19 (unreleased) landed
-
Handle element label and label property objects in object address functions
- 72498a86989e 19 (unreleased) landed
-
Simplify code in objectaddress.c for some property graph objects
- 6827de95ee09 19 (unreleased) landed