From: | Petr Jelinek <petr(at)2ndquadrant(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Column/type dependency recording inconsistencies |
Date: | 2014-11-10 13:16:38 |
Message-ID: | 5460BAB6.3040401@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 09/11/14 23:36, Petr Jelinek wrote:
> On 09/11/14 23:04, Tom Lane wrote:
>>
>> I suspect this is actually a bug in the dependency search logic in DROP.
>> Don't have the energy to chase it right now though.
>>
>
> Yes that's where I started searching also and yes it is. The actual
> situation is that the columns of the table that is about to be dropped
> are normally not added to the object list that is used for dependency
> checks (if the table is going to be dropped who cares about what column
> depends on anyway).
> But this logic depends on the fact that the columns that belong to that
> table are processed after the table was already processed, however as
> the new type was added after the table was added, it's processed before
> the table and because of the dependency between type and columns, the
> columns are also processed before the table and so they are added to the
> object list for further dependency checking.
>
> See use and source of object_address_present_add_flags in dependency.c.
>
So here is what I came up with to fix this. It's quite simple and works
well enough, we don't really have any regression test that would hit
this though.
I wonder if the object_address_present_add_flags should be renamed since
it does bit more than what name suggests at this point.
And I think this should be backpatched to all the versions with
extension support.
--
Petr Jelinek http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
Attachment | Content-Type | Size |
---|---|---|
remove_subobjs_from_deplist-v0.patch | text/x-diff | 1.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2014-11-10 13:19:30 | Re: group locking: incomplete patch, just for discussion |
Previous Message | Robert Haas | 2014-11-10 13:03:17 | Re: [v9.5] Custom Plan API |