Inconsistencies between dependency.c and objectaddress.c - Mailing list pgsql-hackers

From Tom Lane
Subject Inconsistencies between dependency.c and objectaddress.c
Date
Msg-id 19935.1550162585@sss.pgh.pa.us
Whole thread Raw
List pgsql-hackers
In <26527.1549572789@sss.pgh.pa.us> I speculated about adding a
function to objectaddress.c that would probe to see if an object
with a given ObjectAddress (still) exists.  I started to implement
this, but soon noticed that objectaddress.c doesn't cover all the
object classes that dependency.c knows.  This seems bad; is there
a reason for it?  The omitted object classes are

AccessMethodOperatorRelationId
AccessMethodProcedureRelationId
AttrDefaultRelationId
DefaultAclRelationId
PublicationRelRelationId
UserMappingRelationId

What's potentially a lot worse, the two subsystems do not agree
as to the object class OID to be used for large objects:
dependency.c has LargeObjectRelationId but what's in objectaddress.c
is LargeObjectMetadataRelationId.  How did we get to that, and why
isn't it causing serious problems?

            regards, tom lane


pgsql-hackers by date:

Previous
From: Sergei Kornilov
Date:
Subject: Re: pg11.1: dsa_area could not attach to segment
Next
From: Dmitry Dolgov
Date:
Subject: Re: libpq compression