Re: dependencyLockAndCheckObject(): dependent vs referenced

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: dependencyLockAndCheckObject(): dependent vs referenced
Date: 2026-05-28 18:40:52
Message-ID: 8e1f5f9b-571e-443c-a18a-730406f9112c@iki.fi
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 28/05/2026 05:46, Kyotaro Horiguchi wrote:
> Recently, the following error message was added in back branches 14-18:
>
> "dependent %s was concurrently dropped"
>
> As I understand it, this is emitted in
> dependencyLockAndCheckObject(Oid classId, Oid objectId) when the
> object identified by classId/objectId no longer exists at that point.
>
> However, looking at one of the callers:
>
>> void
>> recordMultipleDependencies(const ObjectAddress *depender,
>> const ObjectAddress *referenced,
>> int nreferenced,
>> DependencyType behavior)
>> {
>> ...
>> dependencyLockAndCheckObject(referenced->classId,
> referenced->objectId);
>
> and further up, the function comment says:
>
>> /*
>> * Record a dependency between 2 objects via their respective ObjectAddress.
>> * The first argument is the dependent object, the second the one it
>> * references.
>> *
>> * This simply creates an entry in pg_depend, without any other processing.
>> */
>> void
>> recordDependencyOn(const ObjectAddress *depender,
>> const ObjectAddress *referenced,
>> DependencyType behavior)
>> {
>> recordMultipleDependencies(depender, referenced, 1, behavior);
>> }
>
> Ignoring higher-level callers for the moment, if this comment is
> considered authoritative, then it seems that the object being checked
> here is the referenced object rather than the dependent one.
>
> If so, should the message perhaps say:
>
> "referenced %s was concurrently dropped"
>
> instead?

Yes, you're right. I mixed up the terminology, in my head "dependent"
was a synonym for "referenced", but it's not. "dependent" means the same
as "depender", which is a term we use in some other places.

I've changed the error message and comments to say "referenced". Thanks!

- Heikki

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Álvaro Herrera 2026-05-28 18:42:41 Re: Heads Up: cirrus-ci is shutting down June 1st
Previous Message Álvaro Herrera 2026-05-28 18:35:27 Re: [PATCH] Improve REPACK (CONCURRENTLY) error messages for unsupported configurations