| From: | Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> |
|---|---|
| To: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
| Cc: | SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: [Bug][patch]: After dropping the last label from a property graph element, invoking pg_get_propgraphdef() triggers an assertion failure |
| Date: | 2026-05-12 01:35:06 |
| Message-ID: | CAExHW5tMT71BwGzA7VCi3_6ZVYh-P2JCVrUW84DD-jw+7+3KuA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, May 4, 2026 at 8:16 PM Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>
> On 28.04.26 17:02, Ashutosh Bapat wrote:
> > We are looking up element label catalogs twice in this patch - first
> > to find the label to be dropped and then to find the number of labels
> > associated with the given element. I combined these two into a single
> > while loop.
>
> That looks okay, but I think the names of the local variables are now a
> bit off. I would expect elrel and elscan to refer to
> pg_propgraph_element, not pg_propgraph_element_label. Maybe use
> ellabelrel etc.
Done.
>
> Also, I think this code needs to think a bit about locking to handle the
> situation where more than one DROP LABEL operation happens concurrently.
>
AlterPropGraph already takes ShareRowExclusiveLock at the beginning so
only one label can be dropped at a time. I have added an isolation
test to test the scenario. We could further add some more tests to
make sure that properties can not be added to a label being dropped,
adding label to an element being dropped, adding label to an element
being added etc. Would that be an overkill?
--
Best Wishes,
Ashutosh Bapat
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Smith | 2026-05-12 02:02:36 | Re: pg_createsubscriber: Fix incorrect handling of cleanup flags |
| Previous Message | Jonathan S. Katz | 2026-05-12 01:18:19 | Re: 2026-05-14 release announcement draft |