Hi Peter, Alvaro, All,

(Peter, this is your change, Alvaro, you're the objectaddress.c master)

While looking through my oids removal patch I noticed that the
objectaddress.c ObjectProperty entry for transforms looks wrong:

typedef struct
{
        Oid                     class_oid;              /* oid of catalog */
        Oid                     oid_index_oid;  /* oid of index on system oid 
column */
        int                     oid_catcache_id;        /* id of catcache on 
system oid column  */
        int                     name_catcache_id;       /* id of catcache on 
(name,namespace), or
                                                                         * 
(name) if the object does not live in a
                                                                         * 
namespace */
        AttrNumber      attnum_name;    /* attnum of name field */
        AttrNumber      attnum_namespace;       /* attnum of namespace field */
        AttrNumber      attnum_owner;   /* attnum of owner field */
        AttrNumber      attnum_acl;             /* attnum of acl field */
        ObjectType      objtype;                /* OBJECT_* of this object type 
*/
        bool            is_nsp_name_unique; /* can the nsp/name combination (or 
name
                                                                         * 
alone, if there's no namespace) be
                                                                         * 
considered a unique identifier for an
                                                                         * 
object of this class? */
} ObjectPropertyType;

        {
                TransformRelationId,
                TransformOidIndexId,
                TRFOID,
                InvalidAttrNumber,
        },

this was added in 
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=cac76582053e

The InvalidAttrNumber entry initializes the member for name_catcache_id,
instead of -1 as the other entries, and in contrast to the rest of the
entries it doesn't initialize the other fields. In particular objtype is
0 instead of -1 as the rest.

Greetings,

Andres Freund

Reply via email to