Re: Missing dependency tracking for TableFunc nodes - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: Missing dependency tracking for TableFunc nodes
Date
Msg-id 20191114230646.7tohuvuhquy26mou@development
Whole thread Raw
In response to Re: Missing dependency tracking for TableFunc nodes  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers
On Thu, Nov 14, 2019 at 07:27:29PM -0300, Alvaro Herrera wrote:
>On 2019-Nov-14, Tomas Vondra wrote:
>
>> Isn't that solved by RemoveObjects() doing this?
>>
>>    /* Get an ObjectAddress for the object. */
>>    address = get_object_address(stmt->removeType,
>>                                 object,
>>                                 &relation,
>>                                 AccessExclusiveLock,
>>                                 stmt->missing_ok);
>>
>> I've actually done some debugging before sending the patch, and I think
>> this prevent the issue you describe.
>
>Hmm .. shouldn't get_statistics_object_oid get a lock on the table that
>owns the stats object too?  I think it should be setting *relp to it.
>That way, the lock you're proposing to add would be obtained there.
>That means it'd be similar to what we do for OBJECT_TRIGGER etc,
>get_object_address_relobject().
>

Hmmm, maybe. We'd have to fake the list of names, because that function
expects the relation name to be included in the list of names, and we
don't have that for extended stats. But it might work, I guess.

>I admit this'd crash and burn if we had stats on multiple relations,
>because there'd be no way to return the multiple relations that would
>end up locked.
>

I think that's less important now. If we ever get that feature, we'll
need to make that work somehow.


regards

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services 



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: format of pg_upgrade loadable_libraries warning
Next
From: Tomas Vondra
Date:
Subject: Re: Missing dependency tracking for TableFunc nodes